《Java编程基础知识点汇总及习题集》--答案

3、下面方法是求100~1000的水仙花数,改正方法中的错误。

static int fun(int n){ int i,j,k; i=n0; //i=n/100

j=n-i*10; //j=n/10-i*10

k = n/10; //k = n ; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) return n; else

return 0;

}

3、 以下程序的功能是计算下面函数的值,改正方法中的错误。

public class Fun{ static double fun(double x,double y,double z){ return Math.sin(x)/(Math.sin(x-y)*Math.sin(x-z)) } public static void main(String args[]){ double x=20,y=30,z=40; System.out.println(fun(x,y,z)+fun(x,y,z)-fun(z,x,y)); } }

四、 阅读程序

1、 阅读下列程序,说明程序的功能 public static int sumDigits(long n){ int sum = 0; while(n / 10 != 0){ sum += n % 10; n = n / 10; } sum = sum + n;

2、 阅读下列程序,说明程序的功能

public static void sort(int num1, int num2, int num3){ int temp; if(num1 > num2) { temp = num1; num1 = num2; num2 = temp; } if(num2 > num3) { temp = num2; num2 = num3; num3 = temp; } if(num1 > num2) { temp = num1; num1 = num2; num2 = temp; } System.out.println(\输入的三个数按升序排列为\ }

五、 编程题

1、 使用下述方法头,计算一个整数各位数字之和。

public static int sumDigits(long n) 2、 编写以下方法,按升序排列三个数并输出。

public static void sort(int num1, int num2, int nums)

3、 编写一个求“s=a+aa+aaa+?+aaa?a”的值的方法,其中a是一个1到9之间的数字。例如

“2+22+222+2222+22222”(此时共有5个数相加),由用户输入确定相加项数。

4、 一个数如果恰好等于它的因子之和,这个数就称为完数,例如6=1+2+3。编程找出1000以

内的所有完数。

5、 编写一个方法,计算下列级数。

m(i)=1/2+2/3+?+i/(i+1)

第六章 数组

1、一维数组声明与创建

? 声明: 数据类型[ ] 数组名;

或者

数据类型 数组名

[ ];

? 创建:

数组名 = new 数据类型[数组长度];

? 声明 And 创建:

数据类型[] 数组名 = new 数据类型[数组长度] 或

数据类型 数组名[] = new 数据类型[数组长度]

2、一维数组—初始化

? 动态初始化:数组名[下标] = 值; ? 静态初始化: 数据类型 数组名[] = {元素1,元素2,元素3,元素4? ?}; 或

数据类型 数组名[] =

new 数组类型[]{元素1,元素2,元素3,? ?};

3、一维数组—引用

? 引用格式:数组名[下标];

? 下标取值范围为0—(数组长度-1)

? 数组的长度用length取得,调用格式为 :数组名.length 4、数组常见的操作—数组遍历

? 数组的遍历:依次访问数组中的每个元素 ? for 循环的语法为:

for (int i=0;i< 数组名.length;i++) { ?//处理元素的相关代码 }

? foreach循环的语法为:

for (数据类型 变量:数组名) { ?//处理元素的相关代码 }

5、二维数组---声明与创建

? 声明 数据类型 数组名[ ][ ];

或者 数据类型[ ][ ] 数组名;

? 创建 数组名 = new 数据类型[cel][ce2]; ? 声明 And 创建

数据类型[][] 数组名 = new 数据类型[ce1] [ce2]

数据类型 数组名[][] = new 数据类型[ce1] [ce2]

6、二维数组不规则创建

? 数组名 = new 数据类型[ce][]; ? 数组名[0] = new 数据类型[ce0]; ? 数组名[1] = new 数据类型[ce1]; ? ??

课堂记录

? 数组名[N] =

new 数据类型[ceN];

7、二维数组—初始化和引用

? 静态初始化:

int arr[][]={{2,3},{1,5,6,8},{3,4,9}}。

? 动态初始化: float numthree= new int[10][10]; numthree[0][0]=1.5f; numthree[0][1]=1.3f; ?. ?.

? 引用:数组名[下标1] [下标2];

练习题

一、 填空题

1、若int[]a={12,45,34,46,23},则a[2]= ( )

2、若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=( )

3、已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为( )。 4、在Java中,字符串和数组是作为(对象)出现的。 5、数组对象的长度在数组对象创建之后,( )改变。数组元素的下标总是从( )开始。 6、对于数组int[][] ={{1,2,3},{4,5,6}}来说,t.length等于( ),t[0].length等于( )。 7、已知数组a的定义为”int a[]={1,2,3,4,5};”,则a[2]=( ),数组b的定义为“int b[]=new int[5];”,则b[2]=( ),数组c的定义为“Object c[]=new Object[5];”,则c[2]=( ); 8、调用数组元素时,用( )和( )来唯一确定数组中的元素。 9、数组的初始化是( )

10、数组元素通过( )来访问,数组Array的长度为( ) 11、数组复制时,“=”将一个数组的( )传递给另一个数组。 12、JVM将数组存储在( )中。

13、数组二分法查找运用的前提条件是数组已经( )。 14、数组最小下标是( )。

15、Java中数组下标的数据类型是( )。 16、语句“int a[]=new int[100]”的含义是( )。

17、主方法main(String args[])的参数“String args[]”是一个( )数组。 18、已知数组a1与a2定义如下:

int a1[] = {2,3,5,7,11,13}

int a2[] ={1001,1002,1003,1004,1005,1006,1007}

在语句”System.arraycopy(a1,2,a2,3,4);”执行后,数组a2的值是( )

二、 选择题

1、下面哪种写法可以实现访问数组arr的第1个元素?( ) A、arr[0] B、arr(0) C、arr[1] D、arr(1) 2、以下哪个选项可以正确创建一个长度为3的二维数组?( )

A、new int[2][3] B、new int[3][] C、new int[][3] D、以上答案皆不对 3、下列关于数组的定义形式,哪些是错误的?( )

A.int[ ]c=new char[10]; B.int[ ][3]=new int[2][ ]; C.int[ ]a; a=new int; D.char b[ ]; b=new char[80]; 4、执行String[] s=new String[10];语句后,哪些结论是正确的?( )

A.s[0] 为 未定义 B.s.length 为10

联系客服:779662525#qq.com(#替换为@)