国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 什么是java強制類型轉換?

什么是java強制類型轉換?

來源:千鋒教育
發布人:wjy
時間: 2023-03-21 11:05:00 1679367900

  什么是java強制類型轉換?

  1. 概念

  所謂的強制類型轉換,其實是自動類型轉換的逆過程,在數據類型兼容的情況下,將容量大的數據類型轉換為容量小的數據類型。強制類型轉換也被稱為顯式類型轉換,需要我們顯式地進行轉換操作,必須在=等號后面的類型前加上強制()轉換符,并且有可能會造成數據精度的降低或溢出。

  2. 轉換規律

  強制類型轉換時,也具有一定的規律,但是這個規律比較簡單。

  1. 進行轉換的數據類型必須是兼容的;

  2. 通常,字符串不能直接轉換為基本類型;

  3. 通過基本類型對應的包裝類,可以把字符串類型的數值轉換成對應的基本類型。如String s = “100”; int i = Integer.parseInt(s);

  4. boolean類型不可以轉換成其他數據類型。

  為了讓大家更好地理解這些規律,還是給大家設計一些代碼案例,往下看吧。

  3. 案例

  強制類型轉換格式:(type)value其中type是要強制類型轉換后的數據類型。

  public class TypeDemo04 { public static void main(String[] args) { // 強制類型轉換:大轉小。 double d1 = 100; // double-->int,大轉小,d1的類型為double,i的類型為int,需要強制轉換,類型前添加(要轉換成的類型)。 int i = (int) d1; System.out.println("i=" + i); //int-->char,大轉小 int j = 97; char c1 = (char) j; System.out.println("c1="+c1); //int-->byte,大轉小,精度可能會丟失 int k =128; //byte類型是8位,最大值為127,當int強制轉換為byte類型時,128就會導致溢出變成-128。 byte b = (byte)k; System.out.println("b="+b);//-128 //表達式中進行類型轉換 double d2 = 10; double d3 = 12; int m = (int) (d2 + d3); System.out.println("m="+m); //double+int,小類型和大類型進行計算,會進行類型提升,最終的結果變成大類型。 //Type mismatch: cannot convert from double to int //int n = d2 + k; int n = (int)d2 + k; System.out.println("n="+n); //浮點數到整數的轉換,是通過舍棄小數得到的,而不是四舍五入 int x=(int)55.9;//55 int y=(int)-28.89f; System.out.println("x="+x+",y="+y);//-28 }}

  大家要注意:

  類型轉換時可能會導致溢出或精度的丟失,另外浮點數到整數的轉換是通過舍棄小數得到的,而不是四舍五入。我們可以看下圖的執行結果:

什么是java強制類型轉換1

  4. 類型提升補充說明

  在上面強制轉換時,如果涉及到不同數據類型之間的數學運算,比如+、-、*、/等操作,大家要注意:小類型的數據和大類型的數據進行計算時,會自動進行類型提升,最終的結果變成大類型!關于這一塊的內容,大家暫時先了解這么多,后面講運算符時我再細說。

  public class TypeDemo04 { public static void main(String[] args) { // 強制類型轉換:大轉小 //類型提升 //double+int,小類型和大類型進行計算,會進行類型提升,最終的結果變成大類型。 //Type mismatch: cannot convert from double to int //int m = d2 + k; int m = (int)d2 + k; System.out.println("m="+m); }}

  類型自動提升后,如果不進行強制類型轉換,也是會出現如下異常:

什么是java強制類型轉換2

  5.java強制類型轉換為什么是(數據類型)而不是數據類型()

  Java中的強制類型轉換使用的語法是"(數據類型) 值",而不是"值 數據類型()",這是因為在Java中,強制類型轉換是一種運算符,而不是一個函數調用。

  運算符是一種操作符,它把一個或多個值作為輸入,并生成一個輸出。在Java中,強制類型轉換運算符需要一個數據類型作為輸入,并且需要將一個值強制轉換為該數據類型。因此,強制類型轉換運算符的語法為"(數據類型) 值"。

  相反,如果使用"值 數據類型()"的語法,這將被解釋為一個函數調用,其中"值"是函數的參數,并且"數據類型()"被解釋為函數名。但是,Java中并沒有名為"數據類型()"的函數,因此使用此語法將會導致語法錯誤。

  總之,使用"(數據類型) 值"的語法是Java中強制類型轉換的正確方式。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT