一,強制型別轉換
1特點;不能自動完成,**需要特殊格式處理
2格式:範圍小的型別 範圍小的變數名 =(範圍小的型別) 原本範圍大的型別;
1,不建議使用強制型別轉換,可能會造成資料損失
例如:左邊int型別右邊long型別
int num=100l;//編譯會報錯(資料型別不相容,從long到int會發生資料損失)
//long強制轉化成int
int num1=(int)100l;
system.out.println(num);//輸出100
注意long強制轉化成int時不能超過int的範圍,否則會出現資料損失,例如:
//long強制轉化成int
int num1=(int)60000000000000l;
system.out.println(num);//輸出會小於上面的數
double向int型別轉換,可能損失精度
int num=(int)8.9;//num結果是8
2,byte/short/char可以進行數**算
例如加法運算
char a='a';
system.out.println(a+1);//結果輸出66
計算機底層會用乙個數字(二進位制)65來代表字元a,一旦字元進行算術運算(如果有字串就不會轉化成數字,會直接進行字串拼接),就自動轉換成數字65
3,byte/short/char可以進行數**算時會先被提公升為int型別,然後在進行計算
byte num1=30;//注意byte的範圍
byte num2=50;
byte num3=num1+num2;
system.out.println(num3);//會報錯
理論上num1+num2=80在byte的範圍內。但實際上是資料型別變成了int+int型別,因此num3需要用int型別來接收
int num3=num1+num2;
short型別和byte的運算
short num1=30;
byte num2=10;
short num=(short)(num1+num2);
num1+num2也先被提公升為int型別+int型別,所以需要強制型別轉換成short型別。
注意:強制型別轉換時,邏輯上的數字不能超過short的範圍
4,boolean型別不能進行強制型別轉換
Java資料型別轉換
1字串to整型 string num 111 int integer.parseint num 確保num 只有數字字元 1.1byte and string publicclasstestmain publicstaticbytestring2byte string input byte2stri...
java資料型別轉換
資料型別由低階到高階依次為 byte,short,char int long float double 型別轉換由低階到高階可以自動轉換,比如byte b long l b 如果低階為char,轉換為高階時轉化資料是相應的ascii碼。byte,short,char是同一級別的,不能自動相互轉換,如...
Java資料型別轉換
資料樂行的轉換,分為自動轉換和強制型別轉換。自動轉換時程式在執行過程中 悄然 進行的轉換,不需要使用者提前宣告,一般是從位數低的型別向位數高的型別轉換 強制型別轉換則必須在 中宣告,轉換順序不受限制。自動轉換按從低到高的順序轉換。不同型別資料間的優先關係如下 低 高 byte,short,char ...