# re: 請(qǐng)教一個(gè)關(guān)于char的問(wèn)題 回復(fù) 更多評(píng)論
2007-11-20 21:53 by
請(qǐng)談?wù)勀銈兊目捶ò。瑸槭裁磿?huì)輸出"invoke int"呢?
我是從默認(rèn)數(shù)據(jù)類(lèi)型轉(zhuǎn)換和內(nèi)存實(shí)際存放數(shù)據(jù)的形式考慮的,感覺(jué)不是很正確,請(qǐng)高手指點(diǎn)
# re: 請(qǐng)教一個(gè)關(guān)于char的問(wèn)題 回復(fù) 更多評(píng)論
2007-11-21 09:50 by
首先,感謝你的回復(fù)!過(guò)來(lái)打個(gè)招呼順便給點(diǎn)意見(jiàn)。
程序調(diào)用public void func(int i)方法,打印invoke int
原因:java的8種基本類(lèi)型中short 、 int 、 long 、 float 、 double 、 char 之間可以互相轉(zhuǎn)換,但有時(shí)需要強(qiáng)制轉(zhuǎn)換并且會(huì)損失精度,如果你print i , i的值= char型的ASCII 值,如果int等數(shù)字型轉(zhuǎn)char型 那char型返回的就是該int值對(duì)應(yīng)編碼值的字符,具體編碼方式我還不清楚 int 從19968開(kāi)始輸出的char就是漢字 。
boolean和 byte 于其他類(lèi)型的轉(zhuǎn)換沒(méi)用過(guò)也沒(méi)有研究。
如果還問(wèn)為什么那只能告訴你這是規(guī)定,java的規(guī)定,“規(guī)定”懂不懂,就是王8的屁股^o^……開(kāi)個(gè)玩笑!
你要是非要刨根問(wèn)底,那就找點(diǎn)java基礎(chǔ)的書(shū)看一看,再不行就去sun的官方網(wǎng)站去留言(要用英文),sun的技術(shù)人員一定知道!
如果你找到了boolean和 byte 于其他類(lèi)型的轉(zhuǎn)換別忘了給我發(fā)一份!
我的意見(jiàn)就這樣了,祝你好運(yùn)!
# re: 請(qǐng)教一個(gè)關(guān)于char的問(wèn)題 回復(fù) 更多評(píng)論
2007-11-21 16:27 by
@lk
兄弟挺幽默?。?
boolean:
boolean型變量不同與其它基本數(shù)據(jù)類(lèi)型變量,也就是說(shuō)這種數(shù)據(jù)類(lèi)型不能強(qiáng)制轉(zhuǎn)化成其它數(shù)據(jù)類(lèi)型,而且其他數(shù)據(jù)類(lèi)型也不能強(qiáng)制轉(zhuǎn)化成boolean型。
byte:
byte和short、int同是整型數(shù)據(jù)類(lèi)型,不同的是byte類(lèi)型占內(nèi)存空間1字節(jié)(8個(gè)二進(jìn)制位),short類(lèi)型占內(nèi)存空間2個(gè)字節(jié)(16個(gè)二進(jìn)制位),int占4字節(jié)(32個(gè)二進(jìn)制位)
我也就知道這么點(diǎn),它們存儲(chǔ)的長(zhǎng)度不同。