java中的資料型別轉換

2021-09-01 11:23:31 字數 1319 閱讀 1705

一,強制型別轉換

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 ...