java ppt課後做業

1 、仔細閱讀示例: EnumTest.java,運行它,分析運行結果?java

                       

枚舉類型是引用類型,枚舉不屬於原始數據類型,它的每一個具體值都引用一個特定的對象。相同的值則引用同一個對象。可使用「==」和equals()方法直接比對枚舉變量的值。搜索引擎

二、看着這個圖,再查查Java中每一個數據類型所佔的位數,和表示數值的範圍,你能得出什麼結論對象

在整數之間進行類型轉換時,數值不發生改變,而將整數類型轉換成小數據類型時,因爲存儲方式不一樣,可能存在數據精度的損失。blog

三、如下代碼的輸出結果是什麼?索引

           int X=100;數學

           int Y=200;it

           System.out.println("X+Y="+X+Y);變量

           System.out.println(X+Y+"=X+Y");互聯網

      爲何會有這樣的輸出結果?搜索

結果是: x+y=100200;

             300= x+y;

緣由是:第一個+是鏈接符。第二個+是運算符

四、閱讀相應教材,或者使用互聯網搜索引擎,弄清楚反碼、補碼跟原碼這幾個概念

原碼:就是二進制定點表示法,即最高位爲符號位,「0」表示正,「1」表示負,其他位表示數值的大小。

反碼:反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

補碼:補碼錶示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

五、爲何double類型的數值進行運算得不到「數學上精確」的結果?

double類型的數值佔用64bit,即64個二進制數,除去最高位表示正負符號的位,在最低位上必定會與實際數據存在偏差(除非實際數據剛好是2的n次方)。咱們給出的數值,在大多數狀況下須要比64bit更多的位數才能準確表示出來(甚至是須要無窮多位),而double類型的數值只有64bit,後面捨去的位數必定會帶來偏差,沒法獲得「數學上精確」的結果。

相關文章
相關標籤/搜索