刚开始学习的时候, 自己虽然知道自增自减怎么运算的,但遇到具体代码执行时,还是被绕进去了一脸懵逼的感觉。今天花了一点时间弄懂了。虽然这是一个很小的知识点,但也有它的脾气。下面的代码详细讲述了自增,自减的内部运算机制。
**
自增自减的常见运算形式
**
//自增(++)自减(--)的运算规律是;
//加加在前:给变量加1后再使用该变量
//加加在后:使用完该变量后再加一。
public class 左结合 {
public static void main(String[] args) {
int i=1;
// 答案是1,,此刻输出的是i++整体,并未使用该i++后的值,只是输出i赋值后的值
// 也就是说给i++赋值了(1++),还是1
System.out.println(i++);
// 答案是3,根据i++的使用规律先加1后使用原则,上一个输出i++后,i的值已经变成了2.
// 根据++i的使用规则,先使用后加1。也就是说2使用后加一输出,所以++i为3.
System.out.println(++i);
// 答案为4,3使用完后加1,++i为4整体输出。
++i;
System.out.println(i);
i--;
// 4-1=3,然后整体输出
System.out.println(i--);
// 答案为2,上一个i--输出后,i的值已经变成2
System.out.println(i);
// 答案为1,赋值后减1,然后输出。
--i;
System.out.println(i);
}
}
结果是:
1
3
4
3
2
1
自增自减的普通练习
public class practice {
public static void main(String[] args) {
int i=3;
// s=3+4+5
int s=(i++)+(i++)+(i++);
System.out.println("s="+s+",i="+i);
i=3;
// s=4+5+6;
s=(++i)+(++i)+(++i);
System.out.println("s="+s+",i="+i);
}
}
运行结果是:
s=12,i=6
s=15,i=6