溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java測(cè)試題有哪些

發(fā)布時(shí)間:2021-11-24 14:32:49 來(lái)源:億速云 閱讀:105 作者:iii 欄目:云計(jì)算

這篇文章主要講解了“Java測(cè)試題有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java測(cè)試題有哪些”吧!

題目一: float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代碼的輸出結(jié)果是什么?
A. true
B. false

題目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d與d-e是否相等?
A. true
B. false

題目三: System.out.println(1.0 / 0); 的結(jié)果是什么?
A. 拋出異常
B. Infinity
C. NaN

題目四: System.out.println(0.0 / 0.0); 的結(jié)果是什么?
A. 拋出異常
B. Infinity
C. NaN
D. 1.0

題目五: >>和>>>的區(qū)別是?
A. 任何整數(shù)沒(méi)有區(qū)別
B. 負(fù)整數(shù)一定沒(méi)有區(qū)別
C. 浮點(diǎn)數(shù)可以>>運(yùn)算,但是不可以>>>運(yùn)算
D. 正整數(shù)一定沒(méi)有區(qū)別

題目六: 某個(gè)類有兩個(gè)重載方法:void f(String s) 和 void f(Integer i),那么f(null)的會(huì)調(diào)用哪個(gè)方法?
A. 前者
B. 后者
C. 隨機(jī)調(diào)用
D. 編譯出錯(cuò)

題目七: 某個(gè)類有兩個(gè)重載方法:void g(double d) 和 void g(Integer i),那么g(1)的會(huì)調(diào)用哪個(gè)方法?
A. 前者
B. 后者
C. 隨機(jī)調(diào)用
D. 編譯出錯(cuò)

題目八: String a = null; switch(a)匹配case中的哪一項(xiàng)?
A. null
B. "null"
C. 不與任何東西匹配,但不拋出異常
D. 直接拋出異常

題目九: <String, T, Alibaba> String get(String string, T t) { return string; } 此方法:
A. 編譯錯(cuò)誤,從左往右第一個(gè)String處
B. 編譯錯(cuò)誤,T處
C. 編譯錯(cuò)誤,Alibaba處
D. 編譯正確

題目十: HashMap 初始容量 10000 即 new HashMap(10000),當(dāng)往里 put 10000 個(gè)元素時(shí),需要 resize 幾次(初始化的那次不算)?
A. 1次
B. 2次
C. 3次
D. 0次

答案:

題目一: float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代碼的輸出結(jié)果是什么?
A. true

B. false

解釋:首先浮點(diǎn)數(shù)是由符號(hào)位、指數(shù)位、有效數(shù)字三個(gè)部分組成,而0.125f、0.125d均可以精確的表示出來(lái),不存在精度丟失,因而a-b==0.0。

題目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d與d-e是否相等?
A. true

B. false

解釋:類似十進(jìn)制里面的分?jǐn)?shù)1/3,就是無(wú)限循環(huán)數(shù),無(wú)法精確表示出來(lái),同理浮點(diǎn)數(shù)里有些數(shù)值也沒(méi)法精確表示出來(lái)。
System.out.println(0.8-0.7);//輸出0.10000000000000009
System.out.println(0.7-0.6);//輸出0.09999999999999998

題目三: System.out.println(1.0 / 0); 的結(jié)果是什么?
A. 拋出異常

B. Infinity

C. NaN

解釋:在整型運(yùn)算中,除數(shù)是不能為0的,否則直接運(yùn)行異常。但是在浮點(diǎn)數(shù)運(yùn)算中,引入了無(wú)限這個(gè)概念??梢钥匆幌略创aDouble的定義, public static final double POSITIVE_INFINITY = 1.0 / 0.0;

題目四: System.out.println(0.0 / 0.0); 的結(jié)果是什么?
A. 拋出異常

B. Infinity

C. NaN

D. 1.0

解釋:java源碼,Double包裝類下,public static final double NaN = 0.0d / 0.0;NAN表示非數(shù)字,它與任何值都不相等,甚至不等于它自己。

題目五: >>和>>>的區(qū)別是?
A. 任何整數(shù)沒(méi)有區(qū)別

B. 負(fù)整數(shù)一定沒(méi)有區(qū)別

C. 浮點(diǎn)數(shù)可以>>運(yùn)算,但是不可以>>>運(yùn)算

D. 正整數(shù)一定沒(méi)有區(qū)別

解釋:>>>表示不帶符號(hào)向右移動(dòng)二進(jìn)制數(shù),移動(dòng)后前面統(tǒng)統(tǒng)補(bǔ)0;兩個(gè)箭頭表示帶符號(hào)移動(dòng),正整數(shù)的符號(hào)位是0,因而兩者沒(méi)有區(qū)別

題目六: 某個(gè)類有兩個(gè)重載方法:void f(String s) 和 void f(Integer i),那么f(null)的會(huì)調(diào)用哪個(gè)方法?
A. 前者

B. 后者

C. 隨機(jī)調(diào)用

D. 編譯出錯(cuò)

解釋:1)精確匹配->2)基本數(shù)據(jù)類型(自動(dòng)轉(zhuǎn)換成更大范圍)->3)封裝類(自動(dòng)拆箱與裝箱)->4)子類向上轉(zhuǎn)型依次匹配->5)可變參數(shù)匹配。子類向上轉(zhuǎn)型,兩者的父類都是object類(null默認(rèn)類型是object),因而會(huì)同時(shí)匹配上兩者,編譯器會(huì)報(bào)Ambiguous method call. Both錯(cuò)誤

題目七: 某個(gè)類有兩個(gè)重載方法:void g(double d) 和 void g(Integer i),那么g(1)的會(huì)調(diào)用哪個(gè)方法?
A. 前者

B. 后者

C. 隨機(jī)調(diào)用

D. 編譯出錯(cuò)

解釋:1)精確匹配->2)基本數(shù)據(jù)類型(自動(dòng)轉(zhuǎn)換成更大范圍)->3)封裝類(自動(dòng)拆箱與裝箱)->4)子類向上轉(zhuǎn)型依次匹配->5)可變參數(shù)匹配,本題是進(jìn)行到第二步匹配上了。

題目八: String a = null; switch(a)匹配case中的哪一項(xiàng)?
A. null

B. "null"

C. 不與任何東西匹配,但不拋出異常

D. 直接拋出異常

解釋:在Java編程語(yǔ)言的設(shè)計(jì)者的判斷中,這比靜默跳過(guò)整個(gè)開關(guān)語(yǔ)句要合理,因?yàn)槭褂胣ull作為開關(guān)標(biāo)簽的話,編寫的代碼將永遠(yuǎn)不會(huì)執(zhí)行。

題目九: <String, T, Alibaba> String get(String string, T t) { return string; } 此方法:
A. 編譯錯(cuò)誤,從左往右第一個(gè)String處

B. 編譯錯(cuò)誤,T處

C. 編譯錯(cuò)誤,Alibaba處

D. 編譯正確

解釋:尖括號(hào)里的每個(gè)元素都指代一種未知類型,在定義處只具備執(zhí)行Object方法的能力,在編譯期間,所有的泛型信息都會(huì)被擦除,編譯后,get()的兩個(gè)參數(shù)是Object,返回值也是Object。

題目十: HashMap初始容量10000即new HashMap(10000),當(dāng)往里put 10000個(gè)元素時(shí),需要resize幾次(初始化的那次不算)?
A. 1次

B. 2次

C. 3次

D. 0次

解釋:比10000大,且最接近的2的n次方數(shù)是16384,默認(rèn)負(fù)載因子是0.75,16384*0.75 = 12288>10000,因而不需要擴(kuò)容。

感謝各位的閱讀,以上就是“Java測(cè)試題有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java測(cè)試題有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI