實例:
class Demo3{
public static void main(String[] args){
/*定義四種整數(shù)的數(shù)據(jù)類型*/
byte b = 127;
short s = 50;
int i = 100;
long l = 10000l;
//常量5默認是int類型,b+5可能超出byte的最大值,所以jvm定義byte和short和char
//變量參與運算的時候數(shù)據(jù)類型會提升到int
? int bresult? = b + 5;
? //short sresult = s + 1;錯誤
? int sresult = s + 1;
? System.out.println(bresult); //132
? System.out.println(sresult); //51
//定義一個a字符,每一個字符都對應(yīng)一個ascii碼,在字符參與運算時是用ascii嗎參與運算
char c = 'a';
//char變量參與運算的時候數(shù)據(jù)類型會提升到int
int cresult = c + 3;
System.out.println(cresult); //100
//byte和short和char直接運算也會轉(zhuǎn)換成int
int sresult1 = b + s;
System.out.println(sresult1); //177
//常量的計算可以使用byte,short,char接收(常量的計算結(jié)果不能溢出)
byte iresult1 = 4+3;
System.out.println(iresult1); // 7
int i1 = 2147483647;
//如果int計算時發(fā)生溢出就會變?yōu)樨撝担粫詣愚D(zhuǎn)換成long
int i2 = i1 + 100;
System.out.println(i2); // -2147483549
long lresult1 = i1 + l;
System.out.println(lresult1); // 2147493647
float f = 1.5f;
//float類型和long類型計算,會轉(zhuǎn)換成float,
float fresult = f + l;
System.out.println(fresult); // 10001.5
double d = 10.5d;
//float類型和double數(shù)據(jù)類型計算時,會轉(zhuǎn)換成double
double dresult = d + f;
System.out.println(dresult); // 12.0
/////////////////////////////////////////////////////////////強制轉(zhuǎn)換
//在java程序中同一個范圍內(nèi)變量名字不能重復(fù)
int i3 = 97;
//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成byte
byte b3 = (byte)i3;
//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成short
short s3 = (short)i3;
//把int類型的數(shù)據(jù)強制轉(zhuǎn)換成char
char c3 = (char)i3;
System.out.println(b3);? // 97
System.out.println(s3); // 97
System.out.println(c3); // a
? int i4 = 202;
? //注意如果被轉(zhuǎn)換的值超過了要轉(zhuǎn)換的值的最大值,轉(zhuǎn)換時精度就損失了,不準確。
? byte b4 = (byte)i4;
? System.out.println(b4); // -56
? //把long類型的數(shù)據(jù)轉(zhuǎn)換成int
? long l4 = 10000l;
? int i5 = (int)l4;
? System.out.println(i5); //10000
? //把小數(shù)float轉(zhuǎn)換成整型,直接把小數(shù)舍棄(非四舍五入)
? float f1 = 12.5f;
? int i6 = (int)f1;
? System.out.println(i6); //12
? //把小數(shù)double轉(zhuǎn)換成整型,直接把小數(shù)舍棄(非四舍五入)
? double d1 = 15.5f;
? int i7 = (int)d1;
? System.out.println(i7); // 15
}
}