1. 程式人生 > >Java高手測試問答,答對3個絕對是大神!

Java高手測試問答,答對3個絕對是大神!

abs 真的 整數 不可 的確 異常 後者 變量 一個表

1. 問:Math.abs(-2147483648)返回值是什麽?
答:-2147483648。奇怪的結果(但的確是真的),原因整數溢出。
2. 問:Java表達式1 / 01.0 / 0.0的值分別是什麽?
答:第一個表達式會產生一個運行時除以零異常;第二個表達式的值是Infiniity(無窮大)。
3. 問:負數余數運算的結果是正是負?
答:a % b余數的定義為(a / b) * b + a % b恒等於a,例如-14 % 3 = -214 % -3 = 2
4. 問:for循環和while循環主要區別是什麽?
答:for循環的循環頭部的代碼和for循環主體的代碼在同一個代碼段之中。在一個典型的for循環中,遞增變量一般在循環結束後都是不可用的;但和它等價的while循環中,遞增變量在循環結束之後仍然是可用的。這個區別常常是使用while而非for循環的主要原因。
5. 問:有些Java程序員用int a[]而不是int[] a來聲明數組。這兩者有什麽不同?
答:在Java中兩者都是合法的。前一種是C語言中數組的聲明方式。後者是Java提倡的方式,因為變量的類型int[]更能清楚地說明這是一個整型的數組。
6. 問:為什麽數組起始索引是0而不是1?
答:這個習慣來源於機器語言,那時要計算一個數組元素的地址需要將數組的起始地址加上該元素的索引。將起始索引設為1要麽會浪費第一個元素的空間,要麽會花費額外的時間來將索引減1。

Java高手測試問答,答對3個絕對是大神!