1. 程式人生 > 其它 >四、型別轉換

四、型別轉換

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;
// 可以把它理解為閉環,如同鐘錶一樣,超出部分會從最小值再開始在計算