1.基本數(shù)據(jù)類型的轉(zhuǎn)換是由系統(tǒng)根據(jù)轉(zhuǎn)換規(guī)則自動完成的。轉(zhuǎn)換是在編譯器執(zhí)行,不是在運行期再執(zhí)行。
2.基本數(shù)據(jù)類型的轉(zhuǎn)換在賦值、方法調(diào)用和算術(shù)運算這3種情況下都會發(fā)生。
3.合法的基本數(shù)據(jù)類型轉(zhuǎn)換原則是指從取值范圍窄的類型向取值范圍寬的類型轉(zhuǎn)換,如果是從取值范圍寬的類型向取值范圍窄的類型轉(zhuǎn)換,則會產(chǎn)生編譯錯誤。
基本數(shù)據(jù)類型轉(zhuǎn)換順序:
char
|
byte----->short----->int------>long----->float------>double
4.Java語言中無后綴的數(shù)字型為兩個,整型的默認(rèn)是int。浮點型的默認(rèn)是double。
5.賦值語句中,默認(rèn)整型作為右操作數(shù)時,可以賦值給取值范圍比整型小的變量,前提條件是文字值對應(yīng)的實際數(shù)值在變量類型的取值范圍內(nèi)。而默認(rèn)為double的文字值只能賦值為double的變量。不能賦值給float變量。
6.基本數(shù)據(jù)類型轉(zhuǎn)換在算術(shù)運算情況下的轉(zhuǎn)換規(guī)則是不一樣的:
單操作數(shù)運算規(guī)則
(1) 當(dāng)運算符是+、-、~時,如果操作數(shù)為byte、short、char則先被轉(zhuǎn)換為int再參與運算
(2) 當(dāng)運算符是++、--時,如果操作數(shù)為byte、short、char則不先被轉(zhuǎn)換為int,而是直接參與算術(shù)運算,且運算結(jié)果類型不變。
(3) 如果操作數(shù)為int或long,則無論運算符為何種單操作數(shù)運算符,均不發(fā)生類型轉(zhuǎn)換,直接參與算術(shù)運算,且運算結(jié)果類型不變。
雙操作數(shù)運算的規(guī)則
(1) 如果操作數(shù)之一為double,則另外一個操作數(shù)先被轉(zhuǎn)換為double再參與運算。
(2) 如果兩個操作數(shù)均不為double,當(dāng)操作數(shù)之一為float,則另外一個操作數(shù)先被轉(zhuǎn)換為float,再參與算術(shù)運算。
(3) 如兩個均不為double或者float,當(dāng)操作數(shù)之一為long,則另外一個操作數(shù)先被轉(zhuǎn)換為long,再參與算術(shù)運算。
(4) 如果兩個均不為double或者float或long,則兩個操作數(shù)先被轉(zhuǎn)換為int,再參與算術(shù)運算。
(5) 如果采用+=、*=等形式,系統(tǒng)會自動強制將運算結(jié)果轉(zhuǎn)換為目標(biāo)變量的類型。
posted on 2008-08-15 16:23
一葉笑天 閱讀(224)
評論(0) 編輯 收藏 所屬分類:
JAVA技術(shù)