Java假期作业(Day03)

一.选择题

1、若以下变量均是整型,且 num=sum=7 ;则执行表达式: sum=num++ , sum++ , ++num 后 sum 的值为( B )。

A: 7                                B: 8

C: 9                                D: 10

解析:(1)num = sum = 7 此时这两个变量都是7

(2)sum = num++,sum++,++num;这个东西他不是逗号表达式。此时sum = num++;此时sum=7,程序继续往后走执行 num++,num=8,但是此时sum还是7,继续走,sum++,此时sum才是8.再++num.最后num=9。

(3)如果写成sum = (num++,sum++,++num),sum才是9;这才是逗号表达式。

2、以下不能正确定义二维数组的选项是( D )

A. int a[2][2]={{1},{2}};                     B. int a[][2]={1,2,3,4};

C. int a[2][2]={{1}, 2,3};                   D. int a[2][] ={{1,2},{ 3,4}};

解析:C语言定义2维数组,不能省略列。

3、下面有关 java final 的基本规则,描述错误的是 ( B )

A:final修饰的类不能被继承

B:final修饰的成员变量只允许赋值一次,且只能在类方法赋值

C:final修饰的局部变量即为常量,只能赋值一次

D:final修饰的方法不允许被子类覆盖

解析:final可以修饰类,代表不能被继承,修饰方法,代表该方法不能被重写,修饰变量,该变量不能修改。B选项为什么错?类方法是静态方法,成员变量如果是常量,必须是定义的时候同时对其进行初始化。

4、选项中哪一行代码可以替换 //add code here 而不产生编译错误 ( A )

public abstract class MyClass {public int constInt = 5;//add code herepublic void method() {}
}

A: public abstract void method(int a)

B: consInt=constInt+5;

C: public int method();

D: public abstract void anotherMethod(){}

解析:A:抽象方法的定义,此时和public void method() {} 构成重载,不会报错

B:这个表达式不能出现在成员变量的定义的地方

C:不是抽象方法,会报错

D:抽象方法后不能有具体的实现

5、第三行将输出什么? ( B )

public class SwitchTest{//1public static void main(String[] args) {//2System.out.println("value="+switchit(4));//3}//4public static int switchit(int x) {int j=1;switch (x) {case 1:j++;case 2:j++;case 3:j++;case 4:j++;case 5:j++;default:j++;}return j+x;}
}

A: value=6;          B: value=8;

C: value=3           D: value=5

解析:没有break,程序会继续执行,直到函数结束。

二.代码题

1、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米? 第10次反弹多高?

解析:

public class Day06 {public static void main(String[] args) {double s = 100;//总距离double h = 100;//第一次高度int n = 10;double d = 0;//每次落地之间间隔的距离for(int i = 1;i <= n;i++) {s += d;h/= 2.0;d = h*2;}System.out.println("共走过:" + s + "米");System.out.println("第" + n + "次反弹的高度是:" + h);}
}

2、有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都 不死,问第n个月的兔子对数为多少?

解析:斐波那契数列问题。

public class Day07 {private static int fun(int n){if(n==1 || n==2)return 1;elsereturn fun(n-1)+fun(n-2);}public static void main(String[] args) {System.out.println(fun(10));}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部