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 閱讀(532) 評論(0)  編輯  收藏 所屬分類: Java SE
           
          主站蜘蛛池模板: 汕头市| 肥乡县| 石门县| 临潭县| 苍山县| 巴里| 洪江市| 石嘴山市| 辽源市| 徐汇区| 塔河县| 高淳县| 正蓝旗| 延庆县| 玉田县| 高要市| 莲花县| 湘阴县| 大方县| 来安县| 青海省| 南宁市| 体育| 尼玛县| 鄱阳县| 平舆县| 延边| 蓬溪县| 汾阳市| 于田县| 滨海县| 黄石市| 和政县| 呼玛县| 铜陵市| 双牌县| 兴国县| 即墨市| 德兴市| 滁州市| 洞头县|