Mark's Java Blog
          MyEclipse, Java EE, Spring, Struts, Hibernate, JPA, SWT, Swing, AJAX, JavaScript,SOA
          突然有人問起,自己做了些測驗,把結果記錄下來。

          java的幾種數值基本類型:int,short,long,float,double

          測試代碼:

           public static void main(String[] args) {

            short x = 100;
            long b = 2;
            int a = 2;
            double y=1.1;
            float z=(float) 1.2;
            double c=1.1;
            float d=(float) 1.2;
            
            a=x+a;
            x+=1.1;
            b=b+a;
            y=y-1;
            z=z-1;
            c=c+1;
            d=d+1;
            
            System.out.println(a);
            System.out.println(x);
            System.out.println(b);
            System.out.println(z);
            System.out.println(y);
            System.out.println(c);
            System.out.println(d);

            c=c+d;
            System.out.println(c);
            c=c-d;
            System.out.println(c);
            d=(float) (d-1.1);
            System.out.println(d);
           }

          運行結果:

          102
          101
          104
          0.20000005
          0.10000000000000009
          2.1
          2.2
          4.3000000476837155
          2.0999999999999996
          1.1

          測試說明:

          不同類型數據做計算時按照計算中最大范圍數據類型返回,例如:a=x+a;(如果負值對象是較小范圍的類型就需要強轉類型,否則會報錯)
          double類型做加時運算精度準確,做減運算時有精度偏差,且和float類型相互作加減操作都會出現精度缺失;
          +=符號做運算不牽扯類型轉換問題,按照負值對象的類型返回。

          posted on 2008-05-09 11:44 Mark 閱讀(536) 評論(0)  編輯  收藏 所屬分類: Java SE
           
          主站蜘蛛池模板: 涟水县| 满洲里市| 岚皋县| 萨嘎县| 临城县| 定远县| 甘肃省| 凉山| 通河县| 莱芜市| 金秀| 海宁市| 西乌珠穆沁旗| 张家口市| 京山县| 井研县| 剑河县| 黄陵县| 开远市| 东乡族自治县| 天津市| 民和| 特克斯县| 伊宁市| 安西县| 邹城市| 湘潭县| 额尔古纳市| 昌黎县| 威远县| 庄河市| 阳东县| 环江| 泰和县| 错那县| 永丰县| 丰都县| 青海省| 遵化市| 平陆县| 阿鲁科尔沁旗|