四、型別轉換
阿新 • • 發佈:2021-06-11
1、隱式型別轉換
小的資料型別可以向大的資料型別轉換;不會導致資料的精度損失;
圖說明:
byte -> short ->
int -> long -> float -> double
char ->
案例1:
byte、short、char、int資料型別在進行算數運算的時候,結果是int型別的資料
byte b = 1;
short s = 10;
int i = b + s; //這是要用 int 型別來接收
案例2:
整數型別在算 除法時,結果是整數;宣告浮點數型別來接收時,一般會是 xx.0。這是我們要讓一個整數變成浮點數,來進行參與運算。
int sum = 11;
int len = 3;
double avg = sum*1.0 / len;
案例3:
long 資料型別可以向 float 資料型別轉換,因為 float 整數4個位元組,小數4個位元組;所有 float 可以轉 long;
long l = 100L;
float f = l;
// 不會報錯,如果 float 向 long 資料型別轉換會報錯
2、強制型別轉換
大的資料型別向小的資料型別轉換;會導致資料的精度損失; 格式: 小的資料型別 new變數 = (小的資料型別)old變數 例如: short s = 10; byte b = (byte)s; //10;
案例1:
如果大的資料型別的值 大於 傳給小的資料型別的取值範圍會怎麼樣?
超出部分會從最小值再開始計算。
short i1 = 128;
byte b1 = (byte)i1;
System.out.print(b1); //-128;
// 可以把它理解為閉環,如同鐘錶一樣,超出部分會從最小值再開始在計算