2021-05-21--0515周考

Java基础(40分,每题2分)

  1. 请选这以下代码的输出结果。

Public Base{

Base(){

System.out.println(“Base”);

}

}

public class Checket extends Base{

       Checket (){

System.out.println(“Checket”);

super();

}

public static void main(String args[]){

Checket c= Checket();

}

}

  1. Compile time error(编译错误)
  2. Chercket followed by Base
  3. Base followed by Checket
  4. Runtime error(运行错误)

 

  1. 以下程序的运行结果是什么?

class Text{

public static void text(String str){

str = “World”;

}

public static void main(String args[]){

String str=”Hello”;

text(str);//临时变量在方法执行完毕之后会被回收

System.out.println(str);

}

}

 

  1. try{}里有一return语句,那么紧跟在这个try后面finally{}里的code会不在return前还是后?
  1. 会执行,在return前执行
  2. 会执行,在return后执行
  3. 不会执行
  4. 会抛出异常
  1. 以下代码执行后的结果是什么?

public static void main(String args[] ){

int a =5,b = 3;

if(!(a==b)&&(a==1+b++)){

}

System.out.println(a+”,”+b);

}

54

  1. 关于函数重载,下列说法错误的是那个?
  1. 重载函数的函数名必须相同
  2. 重载函数必须在参数个数或者类型上有所不同
  3. 重载函数的返回值必须相同
  4. 重载函数的函数体可以有所不同

 

  1. 以下代码否编译通过?

public abstract class Person{

public void sayHello(){

}

}

 

  1. 以下代码能编译通过?

class Person{

public abstract void sayHello();

}

 

  1. 请选择以下代码的输出结果。

abstract class Base{

abstract public void myfunc();

}

public class Abs extends Base{

public static void main(String args[]){

 Abs a = new Abs();

     a.amethod();

}

public void amethod(){

System.oout.println(“A method”);

}

}

  1. 编译正常运行输出结果为A method
  2. Base 类编译错误
  3. 代码编译正确,但运行出错
  4. Abs类编译错误//子类Abs要完成父类抽象类的实现

 

9,(单选)下列选项中关于Java中封装的说法错误的是( )。

A. 封装是将属性私有化,提供公有的方法访问私有属性

B. 属性的访问方法包括setter方法和getter方法

C. setter方法用于赋值、getter方法用于取值

D. 类的属性必须进行封装,否则无法通过编译                     

 

10,关于方法的返回值的说法,正确的是( )

A       一个方法一定不可以有返回值

B       void是返回值

C       有返回值,需要定义返回值的数据类型

D      如果定义了返回类型,可以没有返回值

 

11,   关于抽象类和抽象方法的描述错误的是( )

A       抽象类是半成品类、没有完成的类

B       抽象方法是只有方法的定义,没有方法代码

C       抽象类能创建对象

D      public abstract void f();定义了一个抽象方法

        

12,下面哪条语句把方法声明为抽象的公共方法?

A       public abstract method();  

B       public abstract void method();

C       public abstract void method(){} 

D      public void method() extends abstract; 

                  

13,   若在某一个类定义中定义有如下的方法:final void aFinalFunction( ){}则该方法属于

A       本地方法     

B       静态方法 

C       最终方法     

D      抽象方法

14,   下面关于继承的哪些叙述是正确的?

A       在java中允许多继承。 

B       在java中一个类只能实现一个接口。

C       在java中一个类不能同时继承一个类和实现一个接口。 

D      java的单一继承使代码更可靠。

        

        

15,   编译并运行下述程序段的结果是:

public class Test{ 

public static void main(String argv[]){ 

int[] count = new int[4]; 

System.out.println(count[4]); 

} 

} 

A       编译时错误

B       运行时错误//数组下标越界异常

C       输出0

D      输出null 

        

16,   下面选项中,不属于基本类型包装类的是?

A       Integer

B       Long

C       Double

D      Char

                           

17,   下列选项中,哪个可以用来做超大整数运算

A       Integer

B       Long

C       Double

D      BigInteger

        

18,   Integer类缓存数组范围是?

A       [0,255]

B       [-127,128]

C       [-128,127]

D      以上都不对    

19,程序执行的结果是( )

  public class Test {

    String name="Tom";

    public Test(String name){

        this name=name;//加了this才会把jack赋值给变量

    }

    public static void main(String [] args){

        Test t = new Test("Jack");

        System.out.println(t.name);

    }

  }

 A.  null

 B.  Tom

 C.  Jack

 D.  " "

20,以下程序的输出结果是:( )

public class Super {

      public Super() {

            System.out.println("Super ");

   }

}

public class Sub extends Super{

      public Sub() {

              System.out.println("Sub");

   }

 public static void main(String[] args) {

      Super fc = new Super();

      Sub cc = new Sub();

   }

}

A.    Super

      Super

      Sub

 

  • 编程题

 

1,题目:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?(15分)

package cn.tedu.homework;

import java.util.Scanner;

public class 兔子 {

    public static void main(String[] args) {

        System.out.println("请输入你需要的月份数");

        int n =new Scanner(System.in).nextInt();

        int sum = f(n);

        System.out.println("第"+n+"月的兔子对数为"+sum);

        }  

    private static int f(int n) {

        if (n==1||n==2){

            return 1;

        }else {

            return f(n-1)+f(n-2);//递归解斐波拉契数列

        }

    }

}

2,题目:有一分数序列:2/13/25/38/513/821/13…求出这个数列的前20项之和。(15)

寻找规律解题

package cn.tedu.homework;

/**下一个的分子等于此分子分母的和

 * 此分子为下一个分母

 * 存在值交换*/

public class HomeWork02 {

    public static void main(String[] args) {

        double up =2;

        double down =1;

        double sum =up/down;

        for (int i = 0; i < 20; i++) {

            double t;

            t = up+down;

            down =up;

            up = t;

            sum+=up/down;

        }

        System.out.println(sum);

    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值