Java資料型別 及 轉換原則

2021-08-20 18:35:14 字數 1561 閱讀 4256

1、型別轉換主要在在 賦值、方法呼叫、算術運算 三種情況下發生。

a、賦值和方法呼叫 轉換規則:從低位型別到高位型別自動轉換;從高位型別到低位型別需要強制型別轉換:

(1)布林型和其它基本資料型別之間不能相互轉換; 

(2)byte型可以轉換為short、int、、long、float和double; 

(3)short可轉換為int、long、float和double; 

(4)char可轉換為int、long、float和double; 

(5)int可轉換為long、float和double; 

(6)long可轉換為float和double; 

(7)float可轉換為double; 

另外還有是直接數的賦值:先通過直接數判斷其型別,然後基本原則和上面談到的賦值原則基本一致;只是直接數是整數時特殊一點,當在可表示範圍內時,可以直接賦值給 byte short char三種型別;

b、算術運算 中的型別轉換:1 基本就是先轉換為高位資料型別,再參加運算,結果也是最高位的資料型別;2 byte short char運算會轉換為int;

(1)如運算元之一為double,則另乙個運算元先被轉化為double,再參與算術運算。 

(2)如兩運算元均不為double,當運算元之一為float,則另一運算元先被轉換為float,再參與運算。 

(3)如兩運算元均不為double或float,當運算元之一為long,、則另一運算元先被轉換為long,再參與算術運算。 

(4)如兩運算元均不為double、float或long,則兩運算元先被轉換為int,再參與運算。

特殊: 

(1)如採用+=、*=等縮略形式的運算子,系統會自動強制將運算結果轉換為目標變數的型別。

(2)  當運算子為自動遞增運算子(++)或自動遞減運算子(--)時,如果運算元為byte,short或char型別不發生改變;

1、基本型別 與 對應包裝類 可自動轉換,這是自動裝箱和折箱的原理;    

integer c1 = new integer(1);

integer c2 = 2;

int cc = new integer(3);

//另:

string 與 基本型別的互轉

int i = integer.parseint("13");

int ii = integer.valueof("12");

string s1 = string.valueof(123);

string s2 =integer.tostring(i);

string s3 = "" + i;

2、兩個引用型別間轉換:

1、子類能直接轉換為父類 或 介面型別;

2、父類轉換為子類要 強制型別轉換;且在執行時若實際不是對應的物件,會丟擲classcastexception執行時異常;

Java資料型別 及 轉換原則

1 型別轉換主要在在 賦值 方法呼叫 算術運算 三種情況下發生。a 賦值和方法呼叫 轉換規則 從低位型別到高位型別自動轉換 從高位型別到低位型別需要強制型別轉換 1 布林型和其它基本資料型別之間不能相互轉換 2 byte型可以轉換為short int long float和double 3 shor...

PHP資料型別(三)資料型別轉換原則

一 轉換成字元型的原則 數字將直接轉換成數字字串 布林型true將轉換成字串 1 false將轉換成空字串 null將轉換成空字串 陣列將轉換成字串 array 二 轉換成數值型的原則 如果字串為合法的數字字串,且不包含 或 e 或 e 且不超過整數的最大範圍時,將轉換為整數 否則將轉換為浮點型 例...

Java資料型別轉換

1字串to整型 string num 111 int integer.parseint num 確保num 只有數字字元 1.1byte and string publicclasstestmain publicstaticbytestring2byte string input byte2stri...