自動(dòng)類型轉(zhuǎn)換
前提:這里討論只是7種基本數(shù)據(jù)類型變量間的運(yùn)算。不包含boolean類型的。??
- 自動(dòng)類型轉(zhuǎn)換:容量小的類型自動(dòng)轉(zhuǎn)換為容量大的數(shù)據(jù)類型。數(shù)據(jù)類型按容量大小排序?yàn)椋?/li>
- 有多種類型的數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)將所有數(shù)據(jù)?轉(zhuǎn)換成容量最大的那種數(shù)據(jù)類型,然后再進(jìn)行計(jì)算。
- byte,short,char之間不會(huì)相互轉(zhuǎn)換,他們?nèi)咴谟?jì)算時(shí)首先轉(zhuǎn)換為int類型。
- boolean類型不能與其它數(shù)據(jù)類型運(yùn)算。
- 當(dāng)把任何基本數(shù)據(jù)類型的值和字符串(String)進(jìn)行連接運(yùn)算時(shí)(+),基本數(shù)據(jù)類型的值將自動(dòng)轉(zhuǎn)化為字符串(String)類型。
結(jié)論:當(dāng)容量小的數(shù)據(jù)類型的變量與容量大的數(shù)據(jù)類型的變量做運(yùn)算時(shí),結(jié)果自動(dòng)提升為容量大的數(shù)據(jù)類型。文章來源:http://www.zghlxwxcb.cn/news/detail-607196.html
說明:此時(shí)的容量大小指的是,表示數(shù)的范圍的大和小。比如:float容量大于long的容量文章來源地址http://www.zghlxwxcb.cn/news/detail-607196.html
強(qiáng)制類型轉(zhuǎn)換
- 將容量大的數(shù)據(jù)類型轉(zhuǎn)換為容量小的數(shù)據(jù)類型。使用時(shí)要加上強(qiáng)制轉(zhuǎn)換符:(),但可能造成精度降低或者溢出,格外要注意。
- 通常,字符串不能直接轉(zhuǎn)換為基本類型,但通過基本類型對(duì)應(yīng)的包裝類則可以實(shí)現(xiàn)把字符串轉(zhuǎn)換為基本類型。(String可以和8種基本數(shù)據(jù)類型變量做運(yùn)算,且運(yùn)算只能是連接運(yùn)算:+,且運(yùn)算結(jié)果仍然是String類型)
- 如:String a="43";? ? ? ? ? ? int i=Integer.parseInt(a);
- boolean類型不可以轉(zhuǎn)換為其它的數(shù)據(jù)類型。
//精度損失 int a = 128; byte b = (byte) a; System.out.println(b);//-128
// 末尾不加L,不報(bào)錯(cuò)是因?yàn)樽詣?dòng)把右邊的值看成int, // int的范圍是10位數(shù),int賦給一個(gè)long,屬于自動(dòng) // 類型提升 long l = 12344; // 加L,是因?yàn)槌鰅nt最大取值范圍 long l1 = 2222222222L; 整數(shù)常量,默認(rèn)類型為int型 浮點(diǎn)數(shù)常量,默認(rèn)類型為double型 byte n = 12; byte n2 = n + 1; //編譯不通過 float f = n + 12.3; //編譯不通過
到了這里,關(guān)于基本數(shù)據(jù)類型轉(zhuǎn)換(基本數(shù)據(jù)類型之間的運(yùn)算規(guī)則)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!