前提:這裡只討論7種資料型別(boolean不在討論範圍內)
二、強制型別轉換
byte、char、short、int->long->float->double
說明:此處的容量大小僅指數的大小和範圍,並不是資料型別所佔位元組的大小
例1:
byte b1 =
123;
int i1 =
1234
;byte i2 = b1 + i1;
system.out.
println
(i2)
;
編譯不通過
例2:
byte b1 =
123;
int i1 =
1234
;int i2 = b1 + i1;
system.out.
println
(i2)
;
編譯通過
例3:
byte b =5;
short s =3;
short t = s + b;
system.out.
println
(t);
編譯不通過
例4:
char c1 =
'a';
//a為97
byte b2 =
123;
int i3 = c1 + b2;
system.out.
println
(i3)
;float f2 = c1 + b2;
system.out.
println
(f2)
;
編譯通過
其實就是自動型別提公升的一種逆運算
例5:
long l1 =
125l;
short s2 ;
s2 =
(short
)l1;
system.out.
println
(s2)
;
編譯通過
例6:
double d2 =
123.4
;int i4 ;
i4 =
(int
)d2;
system.out.
println
(i4)
;
編譯通過,但是損失了精度 基本資料型別之間的運算
package com.guaji.exer import org.junit.test 基本資料型別之間的運算 這裡講的是7種基本資料型別,不包含 boolean 1 自動提公升資料型別,當容量小的資料型別與容量大的資料做運算時,會自動提公升為容量大的資料型別 特別是當 byte short ch...
基本資料型別之間的轉換
基本資料型別的轉換分為自動型別轉換和強制型別轉換 在進行資料型別的轉換之前我們需要知道各個資料型別的範圍大小的排序,見下圖。從小到大依次排序 自動化型別轉換即從小範圍的型別轉換到大範圍的型別。比如從int型別轉換為double型別。自動型別轉換是可以直接進行的。例如下面的例子,當我把num1的值賦值...
基本資料型別之間的轉換
自動型別轉換 基本資料的自動型別轉換只有7種資料型別,除了布林型 基本原則 低級別可以轉高階別 從左向右可以依次轉換 byte short int long float double char int long float double 運算時的自動轉換條件 兩種資料型別要相容,目標型別大於原型別 ...