聯(lián)系博主          博客地圖
                     

          請教一個(gè)關(guān)于char的問題

          Posted on 2007-11-15 10:49 怎么羨慕天空的飛鳥 閱讀(429) 評論(6)  編輯  收藏 所屬分類: java
              下面的程序段會輸出什么?知道原因的請說明,謝謝
              
          public class test {
           
              
          public void func(int i){
                  System.out.println(
          "invoke int");
              }

              
          public void func(String i){
                  System.out.println(
          "invoke String");
              }

              
          public void func(byte i){
                  System.out.println(
          "invoke byte");
              }

              
              
          public static void main(String []arg){
              test test1
          =new test();
              
          char a='a';
              test1.func(a);
              }

          }


              核心: 勇敢進(jìn)取年輕的心

           

          Feedback

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2007-11-16 10:35 by 千里冰封
          當(dāng)然是int了

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2007-11-20 13:27 by kenzhang
          輸出的結(jié)果是“invoke int”。

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2007-11-20 21:53 by 怎么羨慕天空的飛鳥
          請談?wù)勀銈兊目捶ò。瑸槭裁磿敵?quot;invoke int"呢?
          我是從默認(rèn)數(shù)據(jù)類型轉(zhuǎn)換和內(nèi)存實(shí)際存放數(shù)據(jù)的形式考慮的,感覺不是很正確,請高手指點(diǎn)

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2007-11-21 09:50 by lk
          首先,感謝你的回復(fù)!過來打個(gè)招呼順便給點(diǎn)意見。


          程序調(diào)用public void func(int i)方法,打印invoke int

          原因:java的8種基本類型中short 、 int 、 long 、 float 、 double 、 char 之間可以互相轉(zhuǎn)換,但有時(shí)需要強(qiáng)制轉(zhuǎn)換并且會損失精度,如果你print i , i的值= char型的ASCII 值,如果int等數(shù)字型轉(zhuǎn)char型 那char型返回的就是該int值對應(yīng)編碼值的字符,具體編碼方式我還不清楚 int 從19968開始輸出的char就是漢字 。
          boolean和 byte 于其他類型的轉(zhuǎn)換沒用過也沒有研究。
          如果還問為什么那只能告訴你這是規(guī)定,java的規(guī)定,“規(guī)定”懂不懂,就是王8的屁股^o^……開個(gè)玩笑!
          你要是非要刨根問底,那就找點(diǎn)java基礎(chǔ)的書看一看,再不行就去sun的官方網(wǎng)站去留言(要用英文),sun的技術(shù)人員一定知道!
          如果你找到了boolean和 byte 于其他類型的轉(zhuǎn)換別忘了給我發(fā)一份!

          我的意見就這樣了,祝你好運(yùn)!

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2007-11-21 16:27 by 怎么羨慕天空的飛鳥
          @lk
          兄弟挺幽默啊!
          boolean:
          boolean型變量不同與其它基本數(shù)據(jù)類型變量,也就是說這種數(shù)據(jù)類型不能強(qiáng)制轉(zhuǎn)化成其它數(shù)據(jù)類型,而且其他數(shù)據(jù)類型也不能強(qiáng)制轉(zhuǎn)化成boolean型。
          byte:
          byte和short、int同是整型數(shù)據(jù)類型,不同的是byte類型占內(nèi)存空間1字節(jié)(8個(gè)二進(jìn)制位),short類型占內(nèi)存空間2個(gè)字節(jié)(16個(gè)二進(jìn)制位),int占4字節(jié)(32個(gè)二進(jìn)制位)
          我也就知道這么點(diǎn),它們存儲的長度不同。

          # re: 請教一個(gè)關(guān)于char的問題  回復(fù)  更多評論   

          2008-01-12 04:42 by say
          呵呵~~有意思,期待完美的答案~!

          Copyright © 怎么羨慕天空的飛鳥

          主站蜘蛛池模板: 新安县| 汉阴县| 徐汇区| 鄂伦春自治旗| 武强县| 余庆县| 收藏| 岳阳市| 西宁市| 如东县| 仁布县| 海晏县| 鸡泽县| 德惠市| 安陆市| 孝感市| 临桂县| 吉木萨尔县| 日照市| 来安县| 慈溪市| 余姚市| 正镶白旗| 阿巴嘎旗| 赞皇县| 平谷区| 渝北区| 珠海市| 霍邱县| 额尔古纳市| 东至县| 清水县| 宜春市| 彰化市| 东阳市| 竹溪县| 定边县| 海城市| 柘城县| 大关县| 商南县|