栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java假期作业(Day03)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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 here
   public 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{//1
   public static void main(String[] args) {//2
      System.out.println("value="+switchit(4));//3
   }//4
   public 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;
        else
            return fun(n-1)+fun(n-2);
    }

    public static void main(String[] args) {
        System.out.println(fun(10));
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731958.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号