JAVA第一章整理實驗
1 JAVA中是否可以存在多個公有類
答案是可以,就是在公有類中在套用一個公有類,在Eclipse上輸入老師給的那個例子,能夠成功運行,說明就是可以的。
2 把main()方法的返回值void改為int,編譯通不過,運行不了。
3 為什麽java規定作為程序入口點的main() 方法靜態的?
靜態比較方便,不用去構造實例化,非靜態的main,需要對類進行實例化,再調用main,實例化代碼可能還需要實例化,比較麻煩。
4
4 為什麽使用double類型使最後的結果不準確
這個涉及到二進制與十進制的轉換問題。N進制可以理解為:數值×基數的冪,例如我們熟悉的十進制數123.4=1×102+2×10+3×(10的0次冪)+4×(10的-1次冪);其它進制的也是同理,例如二進制數11.01=1×2+1×(2的0次冪)+0+1×(2的-2次冪)=十進制的3.25
5 在構建BigDecimal對象時應使用字符串而不是double數值,否則,仍有可能引發精度問題。(為什麽會這樣呢?)
參數類型為double的構造方法的結果有一定的不可預知性。有人可能認為在Java中寫入newBigDecimal(0.1)所創建的BigDecimal正好等於 0.1(非標度值 1,其標度為 1),但是它實際上等於0.1000000000000000055511151231257827021181583404541015625。這是因為0.1無法準確地表示為 double(或者說對於該情況,不能表示為任何有限長度的二進制小數)。這樣,傳入到構造方法的值不會正好等於 0.1(雖然表面上等於該值)。
6
5
第一個輸出結果中,””中本身就是一個字符串,後面的加號默認為數據的鏈接,輸出結果認為一個字符串;第二個輸出中,加號首先進行的是加法運算,然後第二個加號才起到鏈接字符串的作用。
JAVA第一章整理實驗