1. 程式人生 > >自動型別轉換與強制型別轉換

自動型別轉換與強制型別轉換

      java基本資料型別之間存在自動型別轉換與強制型別轉換兩種轉換方法。

      型別從低到高:byte->char->short->int->long->float->double,如果型別從低到高自動轉換,從高到低時則需要強制轉換,語法為:

執行轉換後的型別 變數 = (轉換後的型別)被轉換的變數

例如:

long long = 1000L;
byte bl = (byte)long;

實現程式碼如下:


public class Type {
	public static void main(String[] args) {
		byte b = 127;
		char c = 'Z';
		short s = 342;
		int i =123;
		long l = 5000000L;
		float f =3.14F;
		double d = 54.67;
		//低型別向高型別會自動化轉換
		System.out.println("累加byte等於:"+b);
		System.out.println("累加char等於:"+(b+c));
		System.out.println("累加short等於:"+(b+c+s));
		System.out.println("累加int等於:"+(b+c+s+i));
		System.out.println("累加long等於:"+(b+c+s+i+l));
		System.out.println("累加float等於:"+(b+c+s+i+l+f));
		System.out.println("累加double等於:"+(b+c+s+i+l+f+d));
		//高型別到低型別的資料轉換
		System.out.println("把long強制轉換為int型別:"+(int)l);
		//高型別到低型別轉換會丟失資料
		System.out.println(""+(short)i);
		//實數到整數部分轉換將捨棄小數部分
		System.out.println(""+(int)d);
		//整數到字元型別的轉換將獲取對應編碼的字元
		System.out.println(""+(char)s);
	}
	
}

效果如下:

注意:

在強制轉換時會發生資料丟失,以及實數轉換到整數時會丟棄小數部分。