天天看点

2021-09-02第一次周考试题

https://blog.csdn.net/zz2097831284/article/details/120068760解析链接

一、选择题(每题2分,共40分)

1.在Java中,以下描述错误的是(  )

A..class是源文件

B..java是编译前的源文件

C..class是编译后的字节码文件

D.Java程序需编译后方可运行

2.下列的标识符符合Java命名规范的是(  )

A.package com.Bi.hr

B.public class xyz

C.int I 

D.void setCustomerName()

3.下列有关实参和形参说法正确的是()

A.形参是指在定义方法时参数列表中的参数

实参是指在调用方法时所传入的实际数据 

B.形参变量的作用域是在整个类中都可以使用

C.实参只能是字面量值不可以是变量

D.形参不可以用 final 修饰

4.能够给一个byte型变量赋值的范围是(   )。

A. 0~65535

B.(-128)~127  

C.(-32, 768)~32, 767

D. (-256)~255  

5.存储一个24X24点阵的汉字(每个点1bit),需要多少字节( )

A.24

B.48

C.72

D.144

6.java中char类型的取值范围是()

A.0 ... 32767

B.0 ... 65535

C.–256 ... 255

D.–32768 ... 32767

7.找出下列代码哪行有错误

1.public class HelloWorld{

2.    public static void main(String[] args) {

3. double avg1=78.5;

4. int rise=5;

5. int avg2=avg1+rise;

6. System.out.println("考试平均分:"+avg1);

7. System.out.println("调整后的平均分:"+avg2);

8. }

9.}

A.3

B.4

C.5

D.6

8.在下面程序的第 7 行补充上下列哪个方法,会导致在编译过程中发生

错误( )

1)  class Super{

2)    public float getNum(){

3)      return 3.0f;

4)    }

5)  }

6)  public class Sub extends Super{

7)    // TODO ...

8)  }

A.public float getNum(){retun 4.0f;}

B.public void getNum(){}

C.public void getNum(double d){}

D.public double getNum(float d){retun 4.0f;}

9.对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排

序,经过两趟排序后的结果为()

A.{314,298,508,123,145,486}

B.{298,314,508,123,486,145}

C.{298,123,314,508,486,145}

D.{123、298,314,508,486,145}

10.下列数组的初始化正确的是()

A.int[ ] score = new int[ ];

B.int score[ ] = new int[ ] { 34, 90, 87, 54, 24 };

C.int[ ] score = new int[ 4 ] { 90, 12, 34, 77 };

D.int score = { 78, 23, 44, 78 };

11.当编译并运行下面程序时会出现什么结果( )

public class MyAr{

     public static void main(String argv[]){

           int[] i = new int[5];

            System.out.println(i[5]);

      }

}

A.编译错误

B.运行错误

C.输出0

D.输出“null”

12.选择下面代码的运行结果:( )

public class Test{

  public void method(){

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

      System.out.print(i);

    }

    System.out.print(i);

  }

}

A.0122

B.0123

C.编译错误

D.没有任何输出

13.以下for循环的执行次数是( )。

for(int x=0,y=0;(y!=0)&&(x<4);x++);

A.无限次

B.一次也不执行

C.执行四次

D.执行三次

14.编译运行以下程序后,关于输出结果的说明正确的是( )

publicclass Conditional{

  publicstaticvoid main(String args[]){

    int x=4;

    System.out.println("value is "+ ((x>4) ? 99.9 : 9));

  }

}

A.输出结果为:value is 99.99

B.输出结果为:value is 9

C.输出结果为:value is 9.0

D.编译错误

15.关于以下说法正确的是( )

1.class StaticStuff

2.{

3.  static int x=10;

4.  static {x+=5;}

5.  public static void main(String args[])

6.  {

7.    System.out.println("x=" + x);

8.  }

9.  static {x/=3;}

10.}

A.4 行与 9 行不能通过编译,因为缺少方法名和返回类型

B.9 行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

16.下面关于 import, class 和 package 的声明顺序哪个正确( )

A.package, import, class

B.class, import, package

C.import, package, class

D.package, class, import

17.关于以下程序代码的说明正确的是( )

1.class HasStatic{

2.  private static int x=100;

3.  public static void main(String args[]){

4.    HasStatic hs1=new HasStatic();

5.    hs1.x++;

6.    HasStatic hs2=new HasStatic();

7.    hs2.x++;

8.    hs1=new HasStatic();

9.    hs1.x++;

10.   HasStatic.x--;

11.   System.out.println("x="+x);

12. }

13.}

A.5 行不能通过编译,因为引用了私有静态变量

B.10 行不能通过编译,因为 x 是私有静态变量

C.程序通过编译,输出结果为:x=103

D.程序通过编译,输出结果为:x=102

18.给出以下代码,请问如何声明totalPage使其为一个只读属性( )。

public class Page{

public int totalPage;

}

A.声明totalPage变量为private。

B.声明Page类为private。

C.声明totalPage变量为private,并且建立一个用于获取totalPage变量值

的getTotalPage() 方法。

D.声明totalPage变量为static。

19.下列程序中,出现编译错误的行数是( )。

1  class Fu{

2    Fu(int x){

3 System.out.println("fu .."+x);

4    }

5  }

6  class Zi extends Fu{

7    Zi(){

8 System.out.println("zi run");

9    }

10   Zi(int x){

11 this();

12 System.out.println("zi..."+x);

13  }

14  }

A.11

B.2

C.7

D.10

20.下列程序运行后,输出结果是( )。

public class Point{

private int x,y;

Point(int x,int y){

this.x = x;

this.y = y;

}

public static void main(String[] args) {

Point p1 = new Point(13,14);

Point p2 = new Point(17,16);

System.out.println(p1.x+p2.y);

}

}

A.27 B.31 C.33 D.29

二、多选题(每题3分,共15分)

1.下列说法错误的有(  )

A.数组是一种对象

B.数组属于一种原生类

C.int number=[]={31,23,33,43,35,63}

D.数组的大小可以任意改变

2.关于类、对象、引用以下描述正确的是( )。

A.Person person = new Person("张三");

person是一个对象,是内存中的一块区域,是Person类的一个实例

B.Person person = new Person("张三");

person并不是真正的对象,而是指向所创建的对象的引用

C.Person person;

person = new Person("张三");

person = new Person("李四");

person是引用类型的变量,指向了“张三”和“李四”两个对象

D.Person person;

person = new Person("张三");

person = new Person("李四");

person是引用类型的变量,最后指向了“李四”这个对象

3.下面选项中哪两个可以在 A 的子类中使用( )

class A {

  protected int method1 (int a, int b) {

    return 0;

  }

}

A.public int method1(int a, int b) { return 0; }

B.private int method1(int a, int b) { return 0; }

C.private int method1(int a, long b) { return 0; }

D.public short method1(int a, int b) { return 0; }

4.下面哪个函数是public void method(){...}的重载函数( )

A.public void method(int m){...}

B.public int method(){...}

C.public void method2(){...}

D.public int method(int m, float f){...}

5.byte b1=1,b2=2,b3,b6,b8;

final byte b4=4,b5=6,b7;

b3=(b1+b2);  

b6=b4+b5;    

b8=(b1+b4);  

b7=(b2+b5);  

System.out.println(b3+b6);

下列代码片段中,存在编辑错误的语句是()

A.语句2

B.语句1

C.语句3

D.语句4

三、简答题(每题5分,共25分)

1.重写和重载的区别?

2.静态变量与实例变量的区别?

3.简述final关键字的用法

4.this和super的区别

5.分别简述什么是JDK、JRE、JVM,以及他们之间的关系。

四、编程题(每题10分,共20分)

1. 封装一个方法randomArr(int n){},随机生成长度为n、元素是0--100以内的数组并返回,数组的长度由参数来决定。

2. 封装sortBubble(int[] arr)方法,将传入的数组进行冒泡排序并返回。