不同數(shù)據(jù)類型的轉(zhuǎn)換有哪些規(guī)則赘艳?
隱式數(shù)據(jù)類型轉(zhuǎn)換:從低精度到高精度,即優(yōu)先級(jí)滿足byte<short<char<int<long<float<double
旭蠕,低精度數(shù)據(jù)在運(yùn)算時(shí)會(huì)自動(dòng)轉(zhuǎn)換成高精度數(shù)據(jù)旗芬。
強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換:從高精度到低精度轉(zhuǎn)換。
當(dāng)類型自動(dòng)轉(zhuǎn)換時(shí),需要注意以下幾點(diǎn):
- char類型的數(shù)據(jù)轉(zhuǎn)換為高級(jí)類型(如int暇屋,long等),會(huì)轉(zhuǎn)換為其對(duì)應(yīng)的ASCII碼。
-
byte啼县、char季眷、short類型的數(shù)據(jù)在參與運(yùn)算時(shí)會(huì)自動(dòng)轉(zhuǎn)換為int型子刮,但當(dāng)使用
+=
運(yùn)算時(shí),就不會(huì)產(chǎn)生類型的轉(zhuǎn)換。
如:short s1 = 1; s1 = s1 + 1;
,由于在運(yùn)行時(shí)會(huì)首先將s1轉(zhuǎn)換成int型,因此s1+1的結(jié)果為int型,這樣編譯器會(huì)報(bào)錯(cuò)诫肠,所以正確的寫(xiě)法應(yīng)該是short s1 = 1; s1 =(short) (s1 + 1);
司澎。但是“+=”情況例外,語(yǔ)句short s1 = 1; s1 += 1;
不會(huì)報(bào)錯(cuò)挤安。 - 基本數(shù)據(jù)類型與boolean類型不能相互轉(zhuǎn)換。
char型變量中是否可以存儲(chǔ)一個(gè)漢字剿干?
在Java語(yǔ)言中,默認(rèn)使用的Unicode編碼方式腐芍,即每個(gè)字符占用兩個(gè)字節(jié)颠蕴,因此可以用來(lái)存儲(chǔ)中文椅您。
String從采用了一種更加靈活的方式马僻,英文字符占用一個(gè)字符诗力,中文占兩個(gè)字符。