----------siwuxie095
? ?
? ?
? ?
? ?
? ?
1、整數類型
? ?
? ?
? ?
? ?
? ?
? ?
? ?
如果去掉注釋,報錯:Type mismatch: cannot convert from into byte
即 不能把 int 類型轉換成 byte 類型
? ?
? ?
? ?
? ?
如果選擇 Add cast to 'byte':
即 把 b1+3 的結果(默認為 int 類型)強制轉換成 byte 類型
? ?
? ?
? ?
如果選擇 Change type of 'b2' to 'int':
即 把 b2 改成 int 類型(語法錯誤消失,也佐證了 b1+3 的結果是 int 類型)
? ?
? ?
? ?
如果稍作修改:
同樣沒有報錯,這是因為Java語言對于明顯的能確定結果的計算,在編譯期
就把值計算完畢保存在 b2 中,在解釋運行時就不在計算 124+3,b2 中直接
存儲的就是 127(編譯時將 .java 文件編譯成 .class 文件)
? ?
? ?
? ?
如果再作修改:
報錯,這是因為 125+3 的結果 128 超過了 byte 類型最大值 127,
所以出現了編譯錯誤,選擇把 b2 改成 int 類型即可
? ?
? ?
? ?
? ?
? ?
? ?
? ?
2、浮點類型
? ?
(1)概述
? ?
? ?
? ?
? ?
(2)浮點類型的科學計數法
? ?
? ?
? ?
(3)float類型
? ?
? ?
? ?
(4)double類型
? ?
? ?
? ?
(5)浮點運算特點
? ?
? ?
? ?
測試:
? ?
? ?
? ?
運行一覽:
最后的 1 就是運算的誤差,表明 2.6 是以約數的形式保存在內存中,
有一定的誤差
? ?
? ?
? ?
所以在做數值運算中盡量用整型進行運算,不僅精確度高,運算速度也遠遠快于浮點運算
? ?
注意:浮點運算中比較兩個浮點值是否相等, 不要用等于比較,而要用范圍值比較
? ?
? ?
? ?
? ?
? ?
3、字符類型
? ?
(1)概述
? ?
? ?
? ?
(2)Unicode編碼
? ?
? ?
如:
? ?
? ?
代碼:
package com.siwuxie095.test; ? ? public class Test06 { ? ? /** * 顯示 0~127 的字符 */ public static void main(String[] args) { //(char)i 即 把數字 i 轉換成 i 所對應的字符 for (int i = 0; i <= 127; i++) { System.out.println((char)i+":"+i); } } ? ? } |
? ?
? ?
Eclipse中:
? ?
? ?
? ?
運行一覽:有些字符是不可見的
? ?
? ?
? ?
? ?
? ?
【made by siwuxie095】