2021_03_03_星期三

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虚拟机指令如下

image-20210301235808009

通俗的来讲就是Java在执行 i=i++时候 在执行变量赋值语句之前

  1. 先把变量一开始的值(1)保存
  2. 然后直接在该变量(i)的空间内对值进行操作(本处案例为+1)
  3. 然后再把一开始的值(1)赋给变量(i)

所以

int i = 1;
i = i++;

运行结果为

​ 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值