2021_03_03_星期三
for循环的执行流程
首次
for(1;2;4){
3
}
非首次
for(不再执行;2;1){
3
}
i++和i=i++的区别
i++很简单就是先运算后自增
i=i++有些特别 执行完后,i的值并未发生改变
该现象只在Java中出现而C/C++不出现,原因是Java和C/C++采用的编译器不同,所以编译机制也不一样
源码为
int i = 1;
i = i++;
javap命令反编译出Java虚拟机指令如下
通俗的来讲就是Java在执行 i=i++时候 在执行变量赋值语句之前
- 先把变量一开始的值(1)保存
- 然后直接在该变量(i)的空间内对值进行操作(本处案例为+1)
- 然后再把一开始的值(1)赋给变量(i)
所以
int i = 1;
i = i++;
运行结果为
1