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

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

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

    真善美

    勇于承擔責任; 如果你做不到,要提前跟別人說明,不要等到事情發生后再解釋。

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

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

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

          int s1=Integer.parseInt(str);

    2)和parseInt相反的是"toString"這個方法,這個方法是對象級別的,即將對象轉換成字符串。當使"+"運算符將對象同一字符串連接,Java編譯器會自動調用"toString"方法。
    舉例:int->String
          Integer.toString(10);//返回10
    另外一個類似方法,object.valueOf( ) 方法,它返回的是Integer對象。
    舉例:int->String
          int a = 12345;
          String b = String.valueOf(a);//返回12345
    三、類與類之間的類型轉換
    類與類之間的轉換只能用在父子類上,不能用在兄弟類,更不能用在根本不相關的兩個類之間。子類轉換成父類屬于自動類型轉換,父類轉換成子類屬強制類型轉換。


    再補充一個例子:
     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);// 兩個int型參數
    11     }
    12 }

    程序輸出:
    a + b = 30.0

    這里說明在方法調用時發生自動類型轉換。A中定義sum(double,double),我在B中調用sum(int,int)方法,但A中不存在此方法。所以Java 將int型擴大到double型,然后調用sum(double,double) 。當然,如果A中定義了sum(int,int) ,當然會調用sum(int,int),而不會調用sum(double,double) 。
    posted on 2007-06-21 10:07 真善美 閱讀(1104) 評論(0)  編輯  收藏 所屬分類: Java學習
    主站蜘蛛池模板: 伊人久久综在合线亚洲91| 在线人成免费视频69国产| 亚洲人成网站免费播放| 久久久久亚洲AV无码专区首JN | 亚洲欧美aⅴ在线资源| 97免费人妻无码视频| 亚洲国产av美女网站| 国产又黄又爽又猛免费app| 亚洲国产精品免费在线观看| 91免费国产自产地址入| 亚洲区精品久久一区二区三区| 57pao一国产成永久免费| 亚洲国产午夜电影在线入口| 女人张开腿给人桶免费视频| 亚洲日韩精品国产3区| 国产午夜免费福利红片| 成年网站免费入口在线观看 | 亚洲av日韩av激情亚洲| 98精品全国免费观看视频| 亚洲精品视频在线观看视频| 黄瓜视频影院在线观看免费| 亚洲熟妇AV日韩熟妇在线| 日日操夜夜操免费视频| 亚洲精品偷拍视频免费观看| 亚洲AV无码乱码在线观看富二代| 最近中文字幕2019高清免费| 亚洲中文字幕无码av| 永久免费视频v片www| 国产精品美女免费视频观看| 久久精品a亚洲国产v高清不卡| 成人网站免费观看| 免费人成再在线观看网站 | 亚洲精品国产品国语在线| 99久久精品免费精品国产| 亚洲人成网站色7799| 亚洲一区日韩高清中文字幕亚洲 | 国产精品亚洲аv无码播放| 亚洲毛片免费观看| 九九精品国产亚洲AV日韩| 亚洲精品无码久久久影院相关影片| 午夜免费1000部|