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進行轉換,但是如果有過載函式或者模板特化的話,...