int i=10;
System.out.println("i:"+i);
++i;
System.out.println("i:"+i);
int j=i++;
System.out.println("j:"+i);
j输出的值不应该是10吗为什吗我的是12
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 垂子帘 2021-11-26 21:07关注
无论是++i、还是i++;i值都会自增1啊,这样可不就12了嘛
i++和++i的意思分别是:
i++ :先引用i的值,后增加i的值;
++i :i的值先增加,后引用i的值;
换句话就是:
i++ : 先在i所在的表达式中使用i的当前值,再让i加1。
++i : 先让i加1,再在i所在的表达式中使用i的新值。
无论i++还是++i,都可以让i的值自增,但是对于引用它们的对象来说,意义却是不同的,这主要取决于++和i的相对位置:
++在i前面,i先加1,然后在表达式中用i的值;++在i后面,先在表达式中用i的值,然后i再加1。
如有帮助,望采纳!谢谢本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab中使用gurobi时报错
- ¥15 WPF 大屏看板表格背景图片设置
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂