日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%

發布時間:2025/3/15 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50% 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

據說這是一套阿里Java工程師答題正確率只有50%的題目,由泰山版《Java開發手冊》作者孤盡親自出題,來測測憑借你的Java基礎寫下答案,看看你能對幾題?

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

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); 的結果是什么?

A. 拋出異常

B. Infinity

C. NaN

題目四: System.out.println(0.0 / 0.0); 的結果是什么?

A. 拋出異常

B. Infinity

C. NaN

D. 1.0

題目五: >>和>>>的區別是?

A. 任何整數沒有區別

B. 負整數一定沒有區別

C. 浮點數可以>>運算,但是不可以>>>運算

D. 正整數一定沒有區別

題目六: 某個類有兩個重載方法:void f(String s) 和 void f(Integer i),那么f(null)的會調用哪個方法?

A. 前者

B. 后者

C. 隨機調用

D. 編譯出錯

題目七: 某個類有兩個重載方法:void g(double d) 和 void g(Integer i),那么g(1)的會調用哪個方法?

A. 前者

B. 后者

C. 隨機調用

D. 編譯出錯

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

A. null

B. "null"

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

D. 直接拋出異常

題目九: String get(String string, T t) { return string; }此方法:

A. 編譯錯誤,從左往右第一個String處

B. 編譯錯誤,T處

C. 編譯錯誤,Alibaba處

D. 編譯正確

題目十: HashMap 初始容量 10000 即 new HashMap(10000),當往里 put 10000 個元素時,需要 resize 幾次(初始化的那次不算)?

A. 1次

B. 2次

C. 3次

D. 0次

答案見下面哦,附帶解析~

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

A. true

B. false

解釋:首先浮點數是由符號位、指數位、有效數字三個部分組成,而0.125f、0.125d均可以精確的表示出來,不存在精度丟失,因而a-b==0.0。

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

A. true

B. false

解釋:類似十進制里面的分數1/3,就是無限循環數,無法精確表示出來,同理浮點數里有些數值也沒法精確表示出來。

System.out.println(0.8-0.7);//輸出0.10000000000000009

System.out.println(0.7-0.6);//輸出0.09999999999999998

題目三: System.out.println(1.0 / 0); 的結果是什么?

A. 拋出異常

B. Infinity

C. NaN

解釋:在整型運算中,除數是不能為0的,否則直接運行異常。但是在浮點數運算中,引入了無限這個概念。可以看一下源碼Double的定義, public static final double POSITIVE_INFINITY = 1.0 / 0.0;

題目四: System.out.println(0.0 / 0.0); 的結果是什么?

A. 拋出異常

B. Infinity

C. NaN

D. 1.0

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

題目五: >>和>>>的區別是?

A. 任何整數沒有區別

B. 負整數一定沒有區別

C. 浮點數可以>>運算,但是不可以>>>運算

D. 正整數一定沒有區別

解釋:>>>表示不帶符號向右移動二進制數,移動后前面統統補0;兩個箭頭表示帶符號移動,正整數的符號位是0,因而兩者沒有區別

題目六: 某個類有兩個重載方法:void f(String s) 和 void f(Integer i),那么f(null)的會調用哪個方法?

A. 前者

B. 后者

C. 隨機調用

D. 編譯出錯

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

題目七: 某個類有兩個重載方法:void g(double d) 和 void g(Integer i),那么g(1)的會調用哪個方法?

A. 前者

B. 后者

C. 隨機調用

D. 編譯出錯

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

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

A. null

B. "null"

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

D. 直接拋出異常

解釋:在Java編程語言的設計者的判斷中,這比靜默跳過整個開關語句要合理,因為使用null作為開關標簽的話,編寫的代碼將永遠不會執行。

題目九: String get(String string, T t) { return string; }此方法:

A. 編譯錯誤,從左往右第一個String處

B. 編譯錯誤,T處

C. 編譯錯誤,Alibaba處

D. 編譯正確

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

題目十: HashMap初始容量10000即new HashMap(10000),當往里put 10000個元素時,需要resize幾次(初始化的那次不算)?

A. 1次

B. 2次

C. 3次

D. 0次

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

總結

以上是生活随笔為你收集整理的java中测试计算能力_这 10 道 Java 测试题,据说阿里 P7 的正确率只有 50%的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。