第1章 Java基礎語法
標題1、數據型別
1.1 八種基本數據型別
整型:byte 、short 、int 、long
浮點型:float 、 double
字元型:char
布爾型:boolean
1.1.1整型(byte、short、int、long)
雖然byte、short、int、long 數據型別都是表示整數的,但是它們的取值範圍可不一樣。
byte 的取值範圍:-128~127(-2的7次方到2的7次方-1)
short 的取值範圍:(-2的15次方到2的15次方-1)
int 的取值範圍:(-2的31次方到2的31次方-1)
long 的取值範圍:(-2的63次方到2的63次方-1)
由上可以看出 byte、short 的取值範圍比較小,而long的取值範圍時最大的,所以佔用的空間也是最多的。int 取值範圍基本上可以滿足我們的日常計算需求了,所以 int 也是我們使用的最多的一個整型型別。
1.1.2浮點型(float、double)
float 和 double 都是表示浮點型的數據型別,它們之間的區別在於精確度的不同。
double 型別比float 型別儲存範圍更大,精度更高。
通常的浮點型數據在不宣告的情況下都是double型的,如果要表示一個數據時float 型的,可以在數據後面加上 「F」 。
long型別和float型別在定義時,值後面要加l或L, f或F。
long a = 3l; float b = 1.22F;
1
浮點型的數據是不能完全精確的,有時候在計算時可能出現小數點最後幾位出現浮動,這時正常的。
1.1.3字元型(char)
char ch = ‘a’; // 可以是漢字,因爲是Unicode編碼
char ch = 1010; // 可以是十進制數、八進制數、十六進制數等等。
char ch = ‘\0’; // 可以用字元編碼來初始化,如:’\0’ 表示結束符,它的ascll碼是0,這句話的意思和 ch = 0 是一個意思
1
2
3
1.1.4 布爾型(boolean)
boolean型別不用0或非0的數值來表示,僅由True/False表示,這裏和其他語言不同。
boolean b1 = true; boolean b2 = false;
1
換行輸出語句:
System.out.println(str);
1
1.2參照型別:String
String str = 「Hello world!」;
1
參照型別都可以用null作爲值,也就是說可以在初始化的時候賦值爲null,所以,String可以使用null作爲值,此外,String與其他型別還有一個不同點:其值是不變的,這和參照型別在記憶體中的儲存機制 機製有關,後面會有涉及。
int i0 =1;
int i1 = 1;
1
2
以上這種情況會在記憶體中儲存2個1的值
String s0 = 「Hello」;
String s1 = 「Hello」;
1
2
因爲String是參照型別,所以只存在一個"Hello",變數名去參照"Hello".
String可以用加法進行拼接。
1.3基本數據型別轉換
char, byte, short三者同級,不可互相轉換且
<int <long <float < double。
多種數據型別同時計算時,統一成最大容量的型別進行計算。
而多個相同類型變數運算時,先要轉換爲相對應的數據型別的預設型別(比如:兩個byte型別的變數相加,會把兩個byte型別轉換爲預設的int型別之後再計算,得到的結果是int型別)這種情況適用於變數型別的容量小於預設變數型別。
且:當把任何基本型別的值和字串值進行連線運算時(+),基本數據型別自動轉換爲字串型別。
1.3. 1強制型別轉換
int k = 7;
byte a = (byte) k;
1
2
通常字串不能直接轉換爲基本型別,但可以通過基本型別對應的包裝類來實現:
String a = 「43」;
int i = Integer.parselnt(a);
1
2
boolean型別不可以轉換爲其他的數據型別。