強類型轉換
java是強類型語言是以在運算的時候要用到類型轉換
運算時,不同類型的資料先轉換成同一種類型,然後進行運算
public class Demo04 {
public static void main(String[] args) {
//強制轉換 (類型)變量名 高-->低
int i=128;
byte b=(byte)i; //記憶體溢出
//自動轉換 低-->高
double d=i;
System.out.println(i);
System.out.println(b);
System.out.println(d);
/*
注意點:
1.不能對布爾值進行轉換
2.不能把對象類型轉換為不相幹的類型
3.在把大容量轉換為低容量時,強制轉換;反之自動轉換。
4.轉換過程中可能存在記憶體溢出問題或者精度問題
*/
System.out.println("==================================================");
//精度問題
System.out.println((int)23.7);//23
System.out.println((int)-45.89f );//-45
System.out.println("==================================================");
char c='a';
int e=c+1;
System.out.println(e);
System.out.println((char)e);
}
}
溢出問題
public class Demo05 {
public static void main(String[] args) {
//操作比較大的時候要注意溢出問題
//JDK7新特性數字之間可以用下劃線分割
int money=10_0000_0000;
//System.out.println(money);
int year=20;
int total=money*year;//-1474836480 計算時溢出了
long total2=money*year;//-1474836480 預設是int 轉換之前就已經出現問題了
System.out.println(total);
System.out.println(total2);
long total3=money*((long)year);//先把一個數轉換為long
System.out.println(total3);//20000000000
}
}