04型別轉換

2021-10-09 10:04:57 字數 1406 閱讀 2488

int i =

128;

byte b =

(byte

)i;//記憶體溢位

system.out.

println

(i);

//128

system.out.

println

(b);

//-128

強制轉換 (型別)變數名 高–>低

自動轉換 低–>高

double c = i;

system.out.

println

(i);

//128

system.out.

println

(c);

不能對布林值進行轉換

不能把物件型別轉換成不相干的型別

在把高容量轉換到低容量的時候,強制轉換

轉換的時候可能存在記憶體溢位,或者精度問題

system.out.

println((

int)

23.7);

//23

system.out.

println((

int)

-46.99f);

//-46

char c =

'a';

int d = c+1;

system.out.

println

(d);

//98

system.out.

println((

char

)d);

//b

jdk7新特性,數字之間可以用下劃線分割

int money =

10_0000_0000;

system.out.

println

(money)

;//1000000000

int years =20;

int total = money*years;

//-1474836480,計算的時候溢位了

system.out.

println

(total)

;long total2 = money*years;

//預設是int,轉換之前已經存在問題了!

system.out.

println

(total2)

;long total3 = money*((

long

)years)

;//先把乙個數轉換成long

system.out.

println

(total3)

;

C04 型別轉換

c語言中,可以進行資料型別轉換。有以下兩種資料型別轉換 如下圖 強制型別轉換的語法為 強制型別轉換的結果為 實驗分析 include struct ts struct ts ts int main 編譯執行結果為 隱式型別轉換是編譯器主動進行的轉換,不需要手動強制轉換,如下所示 char c 0 變...

21型別轉換

典型案例總結 靜態型別轉換,編譯的時c 編譯器會做型別檢查 基本型別能轉換 但是不能轉換指標型別,只要隱式型別轉換可以的地方都可以使用static cast。若不同型別之間,進行強制型別轉換,用reinterpret cast 進行重新解釋。一般性結論 總結 static cast 和reinter...

七型別轉換

c 提供六種型別轉換符號。前兩種是c風格,稱為c風格強制轉換,t 或者t 他們的效果一樣。後面四種分別是 負責將const型別轉換為非const型別,也可以反過來轉換。通常非const型別會自動轉換成const型別,所以一般不需要使用const cast進行轉換,但是如果有過載函式或者模板特化的話,...