天天看點

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)方法,将傳入的數組進行冒泡排序并傳回。