類(lèi)型轉(zhuǎn)換

小數(shù)的優(yōu)先級(jí) 大于整數(shù)
int i = 128;
byte b = (byte)i; //內(nèi)存溢出 必須強(qiáng)行轉(zhuǎn)換
//強(qiáng)制轉(zhuǎn)換 高--低 格式:(類(lèi)型)變量名
//自動(dòng)轉(zhuǎn)換 低--高
System.out.println(i);
System.out.println(b);
/*
注意點(diǎn):
1.不能對(duì)布爾值進(jìn)行轉(zhuǎn)換
2.不能把對(duì)象類(lèi)型轉(zhuǎn)換為不相干的類(lèi)型
3.在把高容量轉(zhuǎn)換到低容量的時(shí)候,強(qiáng)制轉(zhuǎn)換
4.轉(zhuǎn)換的時(shí)候可能存再內(nèi)存溢出,或者精度問(wèn)題
*/
System.out.println("=======================");
System.out.println((int)23.7);
System.out.println((int)-45.89f);
System.out.println("=======================");
char c ='a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);//b
public class Demo06 {
public static void main(String[] args){
//操作比較大的數(shù)的時(shí)候,注意溢出問(wèn)題
//JDK7新特性,數(shù)字之間可以用下劃線分割
int money = 10_0000_0000;//定義的時(shí)候已經(jīng)溢出了
int years = 20;
int total = money*years;//-1474836480,計(jì)算的時(shí)候溢出
System.out.println(total);
long total2 = money*years;//前面int定義已經(jīng)溢出,默認(rèn)int類(lèi)型
System.out.println(total2);
long total3 = money*((long)years);//先把一個(gè)數(shù)轉(zhuǎn)換long類(lèi)型
System.out.println(total3);
}
}


浙公網(wǎng)安備 33010602011771號(hào)