5、型別轉換
阿新 • • 發佈:2021-06-24
型別轉換
1、由於Java是強型別語言,所以要進行有些運算的時候,需要用到型別轉換
2、運算中,不同型別的資料先轉換為同一型別,然後進行運算
3、強制型別轉換
int i = 128;
byte b = (byte) i; //記憶體溢位
//強制轉換 (型別)變數 高--低
System.out.println(i);
System.out.println(b);
4、自動型別轉換
//自動轉換 低--高 int i1 = 123546; double d = i1; float f = i1; System.out.println(i1); System.out.println(d); System.out.println(f); char c = 'a'; int i2 = c + 1; System.out.println(i2); System.out.println((char)(i2));
5、注意
- 不能對布林值進行轉換
- 不能把物件型別轉換為不相干的型別
- 把高容量轉換到低容量的時候,強制轉換
- 轉換的時候可能存在記憶體溢位,或者精度問題
6、擴充套件
//操作比較大的數時,注意溢位問題 //JDK7新特性,數字之間可以用下劃線分割 int money = 10_0000_0000; int year = 20; int total = money * year; System.out.println(total); //-1474836480,計算的時候溢位了 long total2 = money * year; System.out.println(total2); //預設是int,轉換之前就已經出現問題了 long total3 = (long) money * year; System.out.println(total3);