乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java基礎(chǔ)篇(5) 運(yùn)算順序的深入解析

       印度阿三17 2019-05-02

      1. 從左往右的計(jì)算順序

      **與C/C 不同的是,在Java中,表達(dá)式的計(jì)算與結(jié)果是確定的,不受硬件與環(huán)境的影響。**如:

      int i = 5;
      int j = (i  )   (i  )  (i  );

      在C/C 中,這個(gè)例子的運(yùn)算結(jié)果將會(huì)根據(jù)不同的開發(fā)環(huán)境而不同。Turbo C下,j的值是15;在VC下,j的值是 18。

      在Java中,表達(dá)式的計(jì)算順序是從左往右的,也就是先計(jì)算左側(cè)的結(jié)果,再計(jì)算右側(cè)的結(jié)果。上面的例子計(jì)算結(jié)果就一定是 18。也就是說(shuō),右側(cè)(i )表達(dá)式使用的 i 的值 就是 左側(cè)(i )表達(dá)式計(jì)算完后 i 的值,即左側(cè)比右側(cè)先進(jìn)行運(yùn)算。

      看下面幾個(gè)例子

      @ Example 1

        int a[] = new int[]{0,0,0,0};
          int i = 1;
          a[i  ] = i  ;
          System.out.println("i=" i);
          System.out.println(Arrays.toString(a));

      運(yùn)行結(jié)果:

      i=3
      [0, 2, 0, 0]

      @ Example 2

          int a[] = new int[]{0,0,0,0};
          int i = 1;
          a[i  ] = i = 4;
          System.out.println("i=" i);
          System.out.println(Arrays.toString(a));

      運(yùn)行結(jié)果:

      i=4
      [0, 4, 0, 0]

      @ Example 3

          int a[] = new int[]{0,0,0,0};
          int b[] = new int[]{1,2,3,4,5};
          int cc[] = a;
          int i = 1;
          a[  i] = (a=b)[i]; 
          System.out.println("i=" i);
          System.out.println("數(shù)組a[]: " Arrays.toString(a));
          System.out.println("數(shù)組c[]: " Arrays.toString(cc));

      運(yùn)行結(jié)果:

      i=2
      數(shù)組a[]: [1, 2, 3, 4, 5]
      數(shù)組c[]: [0, 0, 3, 0]

      2. 復(fù)合運(yùn)算符的計(jì)算順序

      復(fù)合運(yùn)算符有一個(gè)特點(diǎn):可以自動(dòng)將右側(cè)的運(yùn)算結(jié)果類型轉(zhuǎn)換成左側(cè)操作數(shù)的類型。如:

      byte b  = 1;    //正確
           b = b 1;  //錯(cuò)誤,1是整形int,所以右側(cè)的b 1的結(jié)果是int類型。需強(qiáng)制轉(zhuǎn)換

      所以,復(fù)合類型的表達(dá)式,如 b = 1; 是相當(dāng)于:

      byte b = (int)(b   1);

      除此之外, 復(fù)合運(yùn)算符也是遵守操作數(shù)從右往左計(jì)算的原則。 也就是說(shuō),在執(zhí)行賦值操作之前,首先會(huì)確定左側(cè)的操作數(shù)。

      看下面的幾個(gè)例子:

               int a = 1;
               a  =   a;
               System.out.println(a);

      運(yùn)行結(jié)果:

      3

      根據(jù)上面的所說(shuō)的,這個(gè)程序就不難理解了,先計(jì)算左側(cè)a的值是1,然后再計(jì)算出右側(cè) a表達(dá)式的值是 2 ,最后便是計(jì)算 1 2 的值為 3,賦值給a。

      如果還是覺(jué)得難理解的,可以寫成等價(jià)的普通式子,然后從左往右計(jì)算右側(cè)的表達(dá)式。這可能比較容易理解:

      a = a     a;

      再看一個(gè)例子,加深理解:

               int a = 5;
               a *= a=2;
               System.out.println(a);

      運(yùn)行結(jié)果:
      10

      作者:jinggod

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多