第六節 Java基礎語法3
阿新 • • 發佈:2021-11-13
JAVA基礎語法3
型別轉換
由於java是強型別語言,所以要進行有些運算的時候,需要用到型別轉換。
由低到高:byte,short,char→int→long→float→double
運算中,不同型別的資料先轉化為同一型別,然後再進行運算。
int i =128;
byte b=(byte)i;//記憶體溢位,byte最大是127
//強制型別轉換 格式:(型別)變數名 由高→低
//自動型別轉換 由低→高
System.out.println(i);//輸出128
System.out.println(b);//輸出-128
注意點:
- 不能對布林值進行轉換
- 不能把物件型別轉換為不相干的型別
- 在把大容量轉換為低容量的時候,強制型別轉換
- 轉換的時候可能存在記憶體溢位,或者精度問題!
System.out.println((int)23.7); //輸出23
System.out.println((int)-45.89f); //輸出-45
char c = 'a';
int d = c+1;
System.out.println(d);//輸出98
System。out.println((char)d);//輸出b
操作比較大的數的時候注意溢位的問題。
JDK7新特性,數字之間可以用下劃線分割
int money = 10_0000_0000;//下劃線並不會被輸出 int years = 20; int total =money*years; System.out.println(total);//輸出-1474836480,計算的時候溢位了 long total2 =money*years; System.out.println(total2);//輸出-1474836480,預設是int,轉換之前已經存在問題了? long total3 =money*((long)years;//先把一個數轉換為long System.out.println(total3);//輸出20000000000