Java编程基础知识点汇总习题集--答案 下载本文

法。

D、类的私有方法不能被其子类直接访问

11、如果一个方法没有return语句,那么( )。

A、编译时会产生语法错误 B、它一定是void方法

C、 它一定是int、double、float方法 D、类的私有方法不能被其子类直接访问 12、关于方法以下说法正确的是( )。

A、Java中每个方法是一个独立的程序;

B、Java类中一个方法一旦被定义,程序运行时其代码一定被执行; C、某个方法若未被任何其它方法调用,则其中的代码一定不会被执行;

D、 Java程序中main方法一定不会被其它方法调用,所以main方法一定不会被执行。 13、关于方法的返回值和return语句,以下说法正确的是( )。

A、Java中每个方法都必须有返回值; B、一个方法可以返回多个返回值;

C、有返回值的方法中必须有return语句。

D、返回值类型为void的方法不能有return语句 14、关于方法的参数以下说法正确的是( )。

A、Java中每个方法都必须有参数;

B、一个方法可以有多个形参变量也可以没有; C、有返回值的方法必须有参数。

D、型参变量是int型方法,调用语句中所给的实参数据也必是int型的。

15、若有方法定义:staitc int fun(int num){return 2*num;} 以下调用语句正确的是( )。

A、System.out.println(fun(‘A’+‘B’)); B、int a=fun(2.3) ; C、fun(2 , 3);

D、if(fun(4)) System.out.println(“正确”); 16、以下程序运行结果是( )。

public class Test {

public static void main(String[] args) { int a=1,b[]={2}; add(a); add(b);

System.out.println(a+\ }

static int add(int x){ x++;

return x; }

static void add(int[] x){ x[0]++; }

}

A、 1,2 B、 2,2 C、 1,3 D、2,3 17、关于重载,以下说法正确的是( )。

A、重载方法的返回值类型必须相同; B、重载方法的方法名必须不同; C、重载方法的参数个数必须不同。 D、重载方法的形参表必须不同。

18、以下方法用以返回传入的两个正整数的最大公约数,该代码段编译运行会出错吗?出现的错误是什么?( )

1. static int add(int x,int y){

资料

2. if(x>y){

3. int z = x; x=y; y=z; 4. }

5. int i;

6. for(i=x-1;i>0;i--){

7. if(x%i==0&&y%i==0)return i; 8. } 9.}

A、第1行出错,两个同为int的形参变量定义应该是:int x,y; B、第1行出错,方法没有返回int值; C、第2行出错,x和y未赋值; D、方法不出错

19、下列方法定义中,正确的是( )。

A、int x( int a,b ) { int w; w=a-b; }

B、double x( int a,int b) { return (a-b); }

C、double x( a,b ) { return a-b; }

D、int x( double a , double b) { return b; } 20、以下max()方法要从传入的两个数据中找出较大的数据返回,则正确定义该方法的代码是( )。

A、 int max(int a,int b){ B、 int max(int a,int b){

if(a>b) if(a>b) ; return a ; return a ;

else if(b>a) else return b ; return b ; } } C、 int max(int a, b){ D、 int max(int a,int b){

if(a>b) if(a>b) return a ; return a ; else return b ; return b ; } }

三、 修改程序中的错误

1、 以下方法是将输入的一个整数反序打印出来,例如,输入”1234”,则输出“4321”;输入“-1234”,

则输出“-4321”,修改下面方法中的错误。 static void printopp(long n){ int i=0; if(n==0) return 0; else while(n!=0){ if(n>0 || i==0) System.out.print(n); else

System.out.print(-n); i=1; n = n;

}

} }

2、 以下程序的功能是使用递归方法求斐波那契数列前20项。修改下面程序中的错误。

public class Fibonacci{ //使用递归方法 private static int getFibo(int i){ if(i==1 || i==2) Return 1; 资料

else Return getFibo(i+1) + getFibo(i+2); } Public static void main(String args[]){

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、二维数组—初始化和引用

? 静态初始化: