1. 程式人生 > >java的整數型別,浮點型別,字元型別

java的整數型別,浮點型別,字元型別

1.在計算機系統中,數值一律用二進位制的補碼來儲存。

2.整數型別

Java有四種整數型別:byte,short,int,long.

Java預設整數計算的結果是int型別。

整數的字面量是int型別。

若字面量超過int型別的最大值,則字面量是long型別,那麼後面要用L(或l)表示該值是long型別。

EG:將字面量30億賦值給一個long型別的變數:

long longvalue=3000000000L;

練習:

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);
	}

}
3.浮點型別

浮點型別用於表示小數的資料型別。

浮點型別原理:也就是二進位制科學計數法。

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碼
		}
	}
}