教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓:java自動類型轉換規(guī)則

更新時間:2022年10月21日10時53分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

  在程序中,經(jīng)常需要對不同類型的數(shù)據(jù)進行運算,為了解決數(shù)據(jù)類型不一致的問題,需要對數(shù)據(jù)的類型進行轉換。例如,一個浮點數(shù)和一個整數(shù)相加,必須先將兩個數(shù)據(jù)轉換成同一類型。根據(jù)轉換方式的不同,數(shù)據(jù)類型轉換可以分為自動類型轉換和強制類型轉換,筆者先來介紹一下自動類型轉換。

  自動類型轉換也稱為隱式類型轉換,是指兩種數(shù)據(jù)類型在轉換的過程中不需要顯式聲明,由編譯器自動完成。自動類型轉換必須同時滿足兩個條件:一個是兩種數(shù)據(jù)類型彼此兼容;二是目標類型的取值范圍大于源類型的取值范圍。例如,下面的代碼:

byte b = 3;
int x = b;

  上面的代碼中,使用byte類型的變量b為int類型的變量x賦值,由于int類型的取值范圍大于byte類型的取值范圍,編譯器在賦值過程中不會丟失數(shù)據(jù),所以編譯器能夠自動完成這種轉換,在編譯時不報告任何錯誤。

  除了上述示例中演示的情況,還有很多類型之間可以進行自動類型切換。下面列舉出3種可以進行自動類型轉換的情況,具體如下。

  (1)整數(shù)類型之間可以實現(xiàn)轉換。例如,byte類型的數(shù)據(jù)可以賦值給short、int、long類型的變量;short、char類型的數(shù)據(jù)可以賦值給int、long類型的變量;int類型的數(shù)據(jù)可以賦值給long類型的變量。

  (2)整數(shù)類型轉換為float類型。例如,byte、char、short、int類型的數(shù)據(jù)可以賦值給float類型的變量。

  (3)其他類型轉換為double類型。例如,byte、char、short、int、long、float類型的數(shù)據(jù)可以賦值給double類型的變量。

0 分享到:
和我們在線交談!