注意:
自增运算符和自减运算符只能用于变量,而不能用于常亮或表达式
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
++ | 自增(前):先运算后取值 | 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。