java的整數型別,浮點型別,字元型別
1.在計算機系統中,數值一律用二進位制的補碼來儲存。
2.整數型別
Java有四種整數型別:byte,short,int,long.
Java預設整數計算的結果是int型別。
整數的字面量是int型別。
若字面量超過int型別的最大值,則字面量是long型別,那麼後面要用L(或l)表示該值是long型別。
EG:將字面量30億賦值給一個long型別的變數:
long longvalue=3000000000L;
練習:
3.浮點型別package com.elrahchim.ch02; public class Test07 { public static void main(String[] args) { byte b1 = 5; // byte b2=b1+3; 這一句會出現錯誤,b1+3結果預設是int型別的 int b2 = b1 + 3; System.out.println(b2); } }
浮點型別用於表示小數的資料型別。
浮點型別原理:也就是二進位制科學計數法。
Java的浮點型別有float和double兩種。
Java預設浮點型別計算的結果是double型別,字面量也是double型別。
若要給float型別的變數賦字面量的值,則要在字面量後面加F(或f)。
1)float型別共32位,1位為符號位,指數8位,尾數23位,(float的精度是23位,即能準確表達23位的數,超過就被截取了)
float儲存的資料的範圍比int型別大,但精度比int小,因為int的精度是31位。
2)double型別,位符號位,11位指數,52位尾數。double範圍遠遠大於long,但long精度不如long,因為long儲存資料的位數是63位。
練習:
package com.elrahchim.ch02;
public class Test08 {
public static void main(String[] args) {
double d = 2.6;
double result = d - 2;
System.out.println(result);
// 在做數值運算時,儘量用int,用浮點運算有誤差,且計算速度慢
}
}
浮點運算就是實數運算,實數都是約數,這樣浮點運算是很慢的而且會有誤差。
4.字元型別
char型別的字面量可以是一個英文字母、字元或一個漢字,並由單引號包括。
如:'A' '3' 'a' '\n'
Java底層使用一個16位的整數來處理字元型別,該數值是一個字元的unicode編碼值(佔用兩個位元組)
unicode編碼是全球範圍內的編碼方法。unicode編碼的英文部分與ASCII碼相容。
Java的char型別只能處理65535個字元,是unicode的一部分。
數字0~9對應ASCII碼:48~57
字母A~Z:65~90
字母a~z:97~122
package com.elrahchim.ch02;
public class Test09 {
public static void main(String[] args) {
for (int i = 0; i <= 127; i++) {
System.out.println((char) i + ":" + i);
// 把數字i轉化成i所對應的字元,i為該字元所對應的unicode碼/ASCII碼
}
}
}