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