<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    真善美

    勇于承擔(dān)責(zé)任; 如果你做不到,要提前跟別人說(shuō)明,不要等到事情發(fā)生后再解釋。

      BlogJava :: 首頁(yè) ::  :: 聯(lián)系 :: 聚合  :: 管理 ::
      55 隨筆 :: 0 文章 :: 29 評(píng)論 :: 0 Trackbacks
    一、簡(jiǎn)單數(shù)據(jù)類(lèi)型間的轉(zhuǎn)換
    兩種數(shù)據(jù)類(lèi)型相互轉(zhuǎn)換首先要類(lèi)型兼容。根據(jù)目的數(shù)據(jù)類(lèi)型的范圍與原數(shù)據(jù)類(lèi)型的范圍,將類(lèi)型轉(zhuǎn)換分自動(dòng)類(lèi)型轉(zhuǎn)換(放大轉(zhuǎn)換)和強(qiáng)制類(lèi)型轉(zhuǎn)換(縮小轉(zhuǎn)換)。
    舉一個(gè)例子:把一個(gè)小的東西放到一個(gè)大的盒子里,是件非常容易的事,不用做任何改變,在這里理解成自動(dòng)轉(zhuǎn)換。若把一個(gè)大的東西放到一個(gè)小的盒子,那就要對(duì)這個(gè)東西做些舍棄,加工一下,強(qiáng)制把它放進(jìn)小盒子里,可理解成強(qiáng)制類(lèi)型轉(zhuǎn)換。
    byte->short->int->long->float->double
    這樣的順序是屬于放大且自動(dòng)類(lèi)型轉(zhuǎn)換,反過(guò)來(lái)就屬于縮小且強(qiáng)制類(lèi)型轉(zhuǎn)換。

    類(lèi)型轉(zhuǎn)換發(fā)生的時(shí)機(jī):
    1)賦值運(yùn)算
    2)算術(shù)運(yùn)算
    3)方法調(diào)用
    自動(dòng)類(lèi)型轉(zhuǎn)換舉例(int類(lèi)型自動(dòng)轉(zhuǎn)換成float類(lèi)型):
        int i=7;
        float j=1.0f;
        float sum=i+j;//返回8.0
    強(qiáng)制類(lèi)型轉(zhuǎn)換舉例(float類(lèi)型強(qiáng)制轉(zhuǎn)換成int類(lèi)型):
         int i=2;     
         float j=1.0f;
         int sum=(int)(i+j);//返回3
    注:char可以自動(dòng)類(lèi)型轉(zhuǎn)換成int。
    二、字符串與其它數(shù)據(jù)類(lèi)型的轉(zhuǎn)換
    1)從Integer類(lèi)對(duì)象中把數(shù)據(jù)以int類(lèi)型取出方法有兩個(gè):類(lèi)級(jí)別的“parseInt”、對(duì)象級(jí)別的“intValue”intValue不需要任何參數(shù),直接調(diào)用,前提必須有Integer類(lèi)對(duì)象。 如只想把字符串類(lèi)型的數(shù)字轉(zhuǎn)換成int類(lèi)型數(shù)字,可以直接使用parseInt方法。
       intValue方法可以用來(lái)取得Integer對(duì)象所存放的int數(shù)值,也可以通過(guò)類(lèi)似的方法來(lái)轉(zhuǎn)換其他的基本數(shù)據(jù)類(lèi)型,boolean,char除外。byte,short,long,float,double分別對(duì)應(yīng)方法byteValue,shortValue,longValue,floatValue,doubleValue。

    舉例:String->int
          Integer s = new Integer(str);
          int s1=s.intValue();

          int s1=Integer.parseInt(str);

    2)和parseInt相反的是"toString"這個(gè)方法,這個(gè)方法是對(duì)象級(jí)別的,即將對(duì)象轉(zhuǎn)換成字符串。當(dāng)使"+"運(yùn)算符將對(duì)象同一字符串連接,Java編譯器會(huì)自動(dòng)調(diào)用"toString"方法。
    舉例:int->String
          Integer.toString(10);//返回10
    另外一個(gè)類(lèi)似方法,object.valueOf( ) 方法,它返回的是Integer對(duì)象。
    舉例:int->String
          int a = 12345;
          String b = String.valueOf(a);//返回12345
    三、類(lèi)與類(lèi)之間的類(lèi)型轉(zhuǎn)換
    類(lèi)與類(lèi)之間的轉(zhuǎn)換只能用在父子類(lèi)上,不能用在兄弟類(lèi),更不能用在根本不相關(guān)的兩個(gè)類(lèi)之間。子類(lèi)轉(zhuǎn)換成父類(lèi)屬于自動(dòng)類(lèi)型轉(zhuǎn)換,父類(lèi)轉(zhuǎn)換成子類(lèi)屬?gòu)?qiáng)制類(lèi)型轉(zhuǎn)換。


    再補(bǔ)充一個(gè)例子:
     1 class A {
     2     void sum(double a, double b) {
     3         System.out.println("a + b = " + (a + b));
     4     }
     5 }
     6 
     7 class B {
     8     public static void main(String args[]) {
     9         A ob = new A();
    10         ob.sum(1020);// 兩個(gè)int型參數(shù)
    11     }
    12 }

    程序輸出:
    a + b = 30.0

    這里說(shuō)明在方法調(diào)用時(shí)發(fā)生自動(dòng)類(lèi)型轉(zhuǎn)換。A中定義sum(double,double),我在B中調(diào)用sum(int,int)方法,但A中不存在此方法。所以Java 將int型擴(kuò)大到double型,然后調(diào)用sum(double,double) 。當(dāng)然,如果A中定義了sum(int,int) ,當(dāng)然會(huì)調(diào)用sum(int,int),而不會(huì)調(diào)用sum(double,double) 。
    posted on 2007-06-21 10:07 真善美 閱讀(1102) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java學(xué)習(xí)
    主站蜘蛛池模板: 最近2019中文字幕免费大全5| a毛片成人免费全部播放| 99re6在线精品视频免费播放| 国产AV无码专区亚洲AV毛网站| 97国免费在线视频| 亚洲成a人片在线观看无码| 精品97国产免费人成视频 | 拔擦拔擦8x华人免费久久| 亚洲日韩国产二区无码| 国产又粗又猛又爽又黄的免费视频| 亚洲精品国产av成拍色拍| 国产精品国产免费无码专区不卡| 欧美亚洲国产SUV| 国产福利电影一区二区三区,亚洲国模精品一区 | 中文字幕免费视频精品一| 国产l精品国产亚洲区在线观看| 成全视频免费观看在线看| 亚洲最新视频在线观看| 黄瓜视频影院在线观看免费| 亚洲国产精品无码中文lv| 免费看国产一级特黄aa大片| 成人无码区免费A∨直播| 久久丫精品国产亚洲av不卡 | 人人狠狠综合久久亚洲婷婷| 免费A级毛片无码视频| 亚洲国产综合精品中文第一| 日韩亚洲国产综合久久久| 未满十八私人高清免费影院| 国产A在亚洲线播放| 成人免费无码大片a毛片| 久久精品国产亚洲AV麻豆不卡| 7m凹凸精品分类大全免费| 亚洲精品无码mⅴ在线观看| 亚洲av日韩片在线观看| 中文字幕无码日韩专区免费| 国产成人精品日本亚洲网址| 亚洲精品国精品久久99热| 120秒男女动态视频免费| 国产亚洲视频在线| 91亚洲国产成人精品下载| 免费大香伊蕉在人线国产|