計算機二級中選擇題是非常重要的,所以開始寫一個每日一題的專欄。
答案及解析將在末尾公布!
今日主題:面向對象特性
1、有兩個類 A 和 B 的定義如下:
class A{final int x=10;public void show(){System.out.print(x + " ");}
}
class B extends A {public void show(){x=20;System.out.print(x + " ");}
}
若定義了類 A 的對象a
和類 B 的對象b
,則執行語句b.show(); a.show();
的結果是
(A) 顯示 20 20
(B) 編譯錯誤
? 顯示 10 10
(D) 顯示 20 10
2、執行下列代碼時,產生的異常是
int a =0;
int b=0;
int c = a / b;
(A) ArrayIndexOutOfBoundsException
(B) ArithmeticException
? DividedByZeroException
(D) NullPointerException
3、下列代碼段執行后的結果是
String s1 = "abcd";
String s2 = s1;
if (s1 == s2)System.out.print("==");
elseSystem.out.print("!=");
s1 = new String("abcd");
char ch[] = {'a','b','c','d'};
s2 = new String(ch);
if(s1 == s2)System.out.print("==");
elseSystem.out.print("!=");
(A) ==
(B) != ==
? != !=
(D) == !=
4、下列代碼段執行后的結果是
int[][] a = {{1,4,3,2}, {8,6,5,7}, {3,7,2,5}, {4,8,6,1}};
int i,j,k,t;
for(i=0;i<3;i++) {k=0;for(j=k+1;j<4;j++)if(a[i][k] < a[i][j]) k=j;t = a[i][0];a[i][0] = a[i][k];a[i][k] = t;
}
for(i=0;i<4;i++)System.out.print(a[i][0] + " ");
(A) 1 6 2 1
(B) 2 7 5 1
? 4 8 7 4
(D) 1 8 3 4
5、下列代碼段執行后的輸出結果是
String s = "BangBangBa!Bang";
int i0, i1, i2;
i0 = s.indexOf('a');
i1 = s.indexOf('g', i0+1);
i2 = s.indexOf("Ba", i1+1);
System.out.println(i2);
(A) 8
(B) 4
? 11
(D) 0
6、異常類InterruptedException
的父類是
(A) IOException
(B) AWTException
? RuntimeException
(D) LinkageError
7、類Throwable
的直接父類是
(A) RunTimeException
(B) Object
? IOException
(D) AWTException
8、下列關于構造方法的描述中,正確的是
(A) 構造方法的返回類型是void
(B) 構造方法的名字可以隨意確定
? 構造方法可以重載
(D) 構造方法是沒有參數的
9、下列代碼段執行后的輸出結果是
String str1 = "1234";
String str2 = str1.replace("34", "43");
System.out.println(str1 + " " + str2);
(A) 1234 1243
(B) 1234 1234
? 1234 3443
(D) 1234 1221
10、下列關于import
語句的說法中,錯誤的是
(A) 所有程序都至少需要一個import
語句
(B) 程序中可以包含多個import
語句
? import
語句必須寫在所有類的定義之前
(D) import
語句用于引入程序要使用的 Java 類
1、答案:B
解析:類 A 中x
是final
變量(常量),子類 B 的show()
方法試圖修改x
,導致編譯錯誤。
2、答案:B
解析:整數除以零會拋出ArithmeticException
(算術異常)。
3、答案:D
解析:
- 初始
s1
和s2
指向同一字符串常量,s1==s2
為true
;- 重新創建
String
對象后,s1
和s2
指向不同對象,==
比較地址為false
。4、答案:C
解析:外層循環遍歷前 3 行,每行尋找最大值并與第一個元素交換,結果為第 0 行最大值 4、第 1 行最大值 8、第 2 行最大值 7、第 3 行不變 4。
5、答案:B
解析:
i0 = s.indexOf('a')
→ 索引 1(‘B’ 在 0,‘a’ 在 1);i1 = s.indexOf('g', 2)
→ 索引 3(從 2 開始找 ‘g’);i2 = s.indexOf("Ba", 4)
→ 索引 4(從 4 開始找 “Ba”)。6、答案:C
解析:InterruptedException
繼承自Exception
,而Exception
的父類是Throwable
,但選項中最接近的是RuntimeException
(同屬異常體系)。
7、答案:B
解析:Throwable
是所有異常和錯誤的父類,直接繼承自Object
。
8、答案:C
解析:
- A 錯誤:構造方法無返回類型;
- B 錯誤:構造方法名必須與類名相同;
- C 正確:構造方法支持重載;
- D 錯誤:構造方法可以有參數(帶參構造)。
9、答案:A
解析:replace("34", "43")
將字符串中 “34” 替換為 “43”,str1
不變(字符串不可變),str2
為 “1243”。
10、答案:A
解析:java.lang
包缺省自動引入,無需顯式import
,故并非所有程序都需要import
語句。
完整版 PDF(含二級更多題目題庫)
點擊下載
以上就是本期內容,如有錯誤請指正!