1. 程式人生 > >【java】i++與++i、i--運算

【java】i++與++i、i--運算

log 原理 ring 自加 clas rgs stat static system

 1 package test;
 2 
 3 //i++與--i運算
 4 public class test {
 5 
 6     public static void main(String[] args) {
 7         int b=0;
 8         int i=1;
 9         b=i++ + ++i + --i;
10         System.out.println("i="+i); //輸出i=2
11         System.out.println("b="+b); //輸出b=6
12     }
13 }

先要記住這句話:++i ,先自加1,然後再賦值給 b,當 i++ 時先把 i 的值賦給 b 在自加1。--原理一樣。從 左 向 右 算(網上很多說法,多測試你就明白了)!

i在自加的時候i的值會馬上更新,所有上面的三個 i 數值不一定相同!

運算: b=i++ + ++i + --i;

  把它分成三部分看: 一 二 三

       b = 1 + 3 + 2

(一)i++ i是先賦值給b 然後自加,初始值為1所以先把1賦給b (二)++i i 在第一部分賦值給b後 i自加1所以此時i等於2,又因為++i,所以先自加1再賦值給b,所以第二部分等於3

(三) --i i在第二部分變成了3,又因為減號在前所以先自減在賦值給b,此時第三部分等於3 i 減 1等於2(i的值不需要看前後的++、--)

然後把它們相加 b=6 i=2

  若有不同看法請留言指點!

【java】i++與++i、i--運算