強制類型的轉換 規則: 1、執行算術運算時,低類型(短位元組)可以轉換為高類型(長位元組);例如: int型轉換成double型,char型轉換成int型等等。 就是用強制類型來實現。 3、強制類型轉換語法 :當大容量的變數向小的變數的類型去轉換時需要強制轉換 。 (目標類型) 值; 當我的int類型轉 ...
強制類型的轉換
規則:
1、執行算術運算時,低類型(短位元組)可以轉換為高類型(長位元組);例如: int型轉換成double型,char型轉換成int型等等。
就是用強制類型來實現。
3、強制類型轉換語法 :當大容量的變數向小的變數的類型去轉換時需要強制轉換 。 (目標類型) 值;
1 package pkg1; 2 3 public class Test1{ 4 public static void main(String args[]){ 5 6 int i = 10; 7 8 byte b = i ; 9 System.out.println(b); 10 11 } 12 }
當我的int類型轉換成byte類型時,編譯是報錯的
我們應該強制類型轉換一下 在賦值是寫上你需要強制的目標類型
例如:
1 package pkg1; 2 3 public class Test1{ 4 public static void main(String args[]){ 5 6 int i = 10; 7 8 byte b = (byte) i ; 9 System.out.println(b); 10 11 } 12 }
定義一個long類型 我要轉換成int類型 語法上是一樣的
1 package pkg1; 2 3 public class Test1{ 4 public static void main(String args[]){ 5 //long類型轉換成int類型 6 long l = 10000; 7 int j = (int)l; 8 System.out.println(j); 9 10 } 11 }
運行效果:
小數類型的強制
package pkg1; public class Test1{ public static void main(String args[]){ //小數類型轉換成int float f= 3.4F; int i = (int)f; System.out.println(i); } }
運行結果:
可以看到小數類型轉換成整數,小數點後面的數就沒有了。
double類型轉換float類型
1 package pkg1; 2 3 public class Test1{ 4 public static void main(String args[]){ 5 //double類型向float類型轉換 6 double d = 33.45; 7 float f = (float)d; 8 9 System.out.println(f); 10 } 11 }
運行結果:
都是可以成功轉換的。
在看字元的轉換
package pkg1; public class Test1{ public static void main(String args[]){ //字元轉換 char c ='a'; int x = c; System.out.println(x); int y = 98; char c1 = (char)y; System.out.println(c1); } }
在上個隨筆中有說到char類型的自動轉換int類型是顯示ASCII碼,同時我也可以強制類型轉換成ASCII碼。
運行結果:
98是ASCII的b,所以int類型可以強製成char類型。
總結:
1,數值類型的轉換前提要保證精度不會損失的情況下才可以強制轉換
2,小數轉換成整數,就是把小數點後面的數給去掉。
3,boolean類型的數據不能轉換為其他任何基本數據類型。