JAV中的自增或自减
- i++ 自增 参与运算时,先参与运算后自增
- ++i 自增 参与运算时,先自增后参与运算
- i-- 自减 参与运算时,先参与运算后自减
- –i 自减 参与运算时,先自减后参与运算
## 参与运算的时候,注意运算的优先级关系
public class Test1 {
public static void main(String[] args) {
int num = 0;
for(int i = 0; i < 100; i++) {
num += num++;
}
System.out.println(num);
}
}
代码如上,求输出的结果为多少?
输出结果如下
0
解析如下:此处画图理解该题的知识点。
下面的题目为扩展延伸:
public class Test1 {
public static void main(String[] args) {
int num = 1;
for (int i = 0; i < 100; i++) {
num += num++;
}
System.out.println("num=" + num);
}
}
输出结果为:
num=0
原因分析:出现了内存溢出。
将上面的代码中的循环次数100改为10,会出现如下结果
public class Test1 {
public static void main(String[] args) {
int num = 1;
for (int i = 0; i < 10; i++) {
num += num++;
}
System.out.println("num=" + num);
}
}
结果如下:
num=1024
这下结果正常。
解析如下: