【java】i++與++i、i--運算
阿新 • • 發佈:2017-09-11
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--運算