教學來源:
5. Everything about JAVA Data Types
Java Data Types
資料大小以byte為單位,1byte=8bits
像是int就是4bytes,數字範圍就是4x8-1=31。-2的31次方 到 2的31次方-1
為什麼要4x8-1=31? 因為第一個數字用來代表正負號
0是+號,1是-號。(應該是指結果是這樣)
為什麼是2的31次方-1 ?,因為0也算,所以要-1。
為什麼是-2的31次方 ?,因為 原本 的 -0 會換成 -2的31次方。
二補數:
正數和0的二補數就是該數字本身。負數的二補數則是將其對應正數按位元取反再加1。
二補數
Float的E代表10,E2就是10的2次方=100
class Number{
public static void main(String[] args) {
float number = (float)3525E-3;
float number1 = (float)3525E2;
System.out.println(number); //3.525
System.out.println(number1); //352500.0
}
}
Char是2byte,Unicode,就是世界上大部分的文字幾乎都可以顯示。
,相比ASCII是1byte,大概只能顯示英文或標點符號。
ASCII
參考:
Java 與 Unicode
class Unicode {
public static void main(String[] args) {
System.out.println((int)'嗨'); //嗨的unocode碼(十進位)
System.out.println(Integer.toHexString(21992));//嗨的unocode碼(十六進位)
System.out.println("\u55e8 \u55e8"); //直接用unocode碼(十六進位)顯示嗨
}
}