Java日常練習題,每天進步一點點(14)
承蒙各位厚愛,我們一起每天進步一點點!(鼠標選中空白處查看答案)
1、下面程序的運行結果:()
public static void main(String args[]) { Thread t=new Thread(){ public void run(){ dianping(); } }; t.run(); System.out.print("dazhong"); } static void dianping(){ System.out.print("dianping"); }
正確答案: B
dazhongdianping
dianpingdazhong
a和b都有可能
dianping循環輸出,dazhong夾雜在中間
題解:
在上面main()方法中,並沒有創建一個新的線程,隻是簡單地方法調用而已,如果想要創建線程,需要t.start();創建線程,等待cpu時間片,而run()方法隻是簡單地方法調用,所以先執行run(),在輸出dazhong
2、如果int x=20, y=5,則語句System.out.println(x+y +””+(x+y)+y); 的輸出結果是()
正確答案: D
2530
55
2052055
25255
題解:
1)不論有什麼運算,小括號的優先級都是最高的,先計算小括號中的運算,得到x+y +””+25+y
2)任何字符與字符串相加都是字符串,但是是有順序的,字符串前面的按原來的格式相加,字符串後面的都按字符串相加,得到25+“”+25+5
3)上面的結果按字符串相加得到25255
3、有以下類定義:
abstract class Animal{ abstract void say(); } public class Cat extends Animal{ public Cat(){ System.out.printf("I am a cat"); } public static void main(String[] args) { Cat cat=new Cat(); } }
運行後:
正確答案: B
I am a cat
Animal能編譯,Cat不能編譯
Animal不能編譯,Cat能編譯
編譯能通過,但是沒有輸出結果
題解:
當一個實體類集成一個抽象類,必須實現抽象類中的抽象方法,抽象類本身沒有錯誤,但是cat類編譯通不過
4、以下代碼的輸出的正確結果是
public class Test { public static void main(String args[]) { String s = "祝你考出好成績!"; System.out.println(s.length()); } }
正確答案: D
24
16
15
8
題解:
別想太多,length() 方法返回的就是字符串的長度,一個 char 可以存下漢字,剩下的數數就完事瞭。
如果想獲得占用字節數的話,可以用 s.getBytes(“GBK”).length,結果就是 16 瞭。
5、下列說法正確的是()
正確答案: B
在類方法中可用this來調用本類的類方法
在類方法中調用本類的類方法時可直接調用
在類方法中隻能調用本類中的類方法
在類方法中絕對不能調用實例方法
題解:
在類方法中不能有this關鍵字,,直接調用類方法即可,A錯誤,B正確,在類方法中可以通過創建實例對象調用類的實例方法,C、D錯誤
6、以下代碼輸出的是:
public class SendValue{ public String str="6"; public static void main(String[] args) { SendValue sv=new SendValue(); sv.change(sv.str); System.out.println(sv.str); } public void change(String str) { str="10"; } }
正確答案: A
6
10
都不對
16
題解:
7、非抽象類實現接口後,必須實現接口中的所有抽象方法,除瞭abstract外,方法頭必須完全一致.
正確答案: B
正確
錯誤
題解:
方法頭:包括修飾符(可大),返回值(可小)、方法名
方法名與參數相同時:
修飾符:可以大於等於父類方法的訪問權限,而非必須一致
返回值:可以小於父類方法返回的類型,而非必須一致
實現接口中的方法是重寫要求 沒必須完全一樣 如接口中返回值是Object 實現接口方法返回值可以是其他的
8、下列關於容器集合類的說法正確的是?
正確答案: C
LinkedList繼承自List
AbstractSet繼承自Set
HashSet繼承自AbstractSet
WeakMap繼承自HashMap
題解:
A.LinkedList是繼承自AbstractSequentialList(抽象類,實現瞭List接口)的,並且實現瞭List接口。所以A錯誤。
B.AbstractSet是實現瞭Set接口的,本身是一個抽象類。繼承自AbstractCollection(抽象類,實現瞭Collection接口)。所以B錯誤。
C.HashSet是繼承自AbstractSet,實現瞭Set接口。所以C正確。
D.WeakMap不存在於java集合框架的。隻有一個叫做WeakHashMap(繼承自AbstractMap)。
9、下面說法正確的是?()
正確答案:B C
調用Thread的sleep()方法會釋放鎖,調用wait()方法不釋放鎖
一個線程調用yield方法,可以使具有相同優先級線程獲得處理器
在Java中,高優先級的可運行的線程會搶占低優先級線程的資源
java中,線程可以調用yield方法使比自己低優先級的線程運行
題解:
yiled方法屬於高風亮節的行為,這個坑位我不上瞭,後面跟我同級別的先上廁所。這樣比較好記!
高優先級的就是你們的縣長,縣長要上廁所,對不起,你得出來,縣長先上,縣長上完瞭,CPU分配到你瞭,你才能繼續拉X。
10、下面的對象創建方法中哪些會調用構造方法 ()?
正確答案:A C
new語句創建對象
調用Java.io.ObjectInputStream的readObject方法
java反射機制使用java.lang.Class或java.lang.reflect.Constructor的newInstance()方法
調用對象的clone()方法
題解:
題目的四個選項是構造方法new,序列化對象,反射,克隆分別創建一個對象的方法,,隻有new和反射用到瞭構造方法
答案匯總:
1、正確答案: B
2、正確答案: D
3、正確答案: B
4、正確答案: D
5、正確答案: B
6、正確答案: A
7、正確答案: B
8、正確答案: C
9、正確答案: B C
10、正確答案: A C
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!