JAVA中自增自减运算符(i++与++i的区别)
注意:
自增运算符和自减运算符只能用于变量,而不能用于常亮或表达式
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
++ | 自增(前):先运算后取值 | a=2;b=++a; | a=3;b=3; |
++ | 自增(后):先取值后运算 | a=2;b=a++; | a=3;b=2; |
-- | 自减(前):先运算后取值 | a=2;b=--a; | a=1;b=1; |
-- | 自减(后):先取值后运算 | a=2;b=a--; | a=1;b=2; |
测试代码:
public class SignTest{ public static void main(String[] args){ int i1 = 10; int i2 = 20; int i = i1++; System.out.print(“i=”+i); System.out.println(“i1=”+i1); i = ++i1; System.out.print(“i=”+i); System.out.println(“i1=”+i1); i = i2--; System.out.print(“i=”+i); System.out.println(“i2=”+i2); i = --i2; System.out.print(“i=”+i); System.out.println(“i2=”+i2); } }
运行结果:
拓展练习:
代码:
int n = 10; n += (n++) + (++n); System.out.print(n);
输出:
32
解析:
n = n + (n++) + (++n);右边第一个n是10,第二个n是10,n++是先取值,所以(n++)是10,再运算,此时n已经是11,再看第三个,(++n),n是11,先运算后取值,(++n)变成12。10 + 10 + 12=32。
下一站:JAVA基础之n+=1与n=n+1的区别