宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: yeyeyeping

java中的i-=i++是怎么算的

[复制链接]
 楼主| 发表于 2020-12-25 10:41:15 | 显示全部楼层
Syc 发表于 2020-12-25 10:19
i++是先拷贝一份加入栈参与运算,后自增。

抛开前面 i- 不管,我们来看 i=0; i=i++;  最终结果不是1而是0 ...

懂了,多谢
发表于 2020-12-25 10:45:53 | 显示全部楼层
先理解++i和i++的区别
就明白为什么是零了
发表于 2020-12-25 11:56:47 | 显示全部楼层
先自增后运算和先运算后自增是两码事
发表于 2020-12-25 14:14:27 | 显示全部楼层
int i=2;
i-=i++;

2-=2;
i=2-2;
i=0;
发表于 2020-12-25 14:17:00 | 显示全部楼层
这是编译以后的运算
  1. int i = 2;
  2.         byte var10000 = i;
  3.         byte var10001 = i;
  4.         int i = i + 1;
  5.         i = var10000 - var10001;
  6.         System.out.println(i);
复制代码
发表于 2020-12-25 14:29:09 | 显示全部楼层
别去纠结这个 现实一般i++都是单独写的 代码要清晰易读
发表于 2020-12-25 14:40:55 来自手机 | 显示全部楼层
和 i-=i  一个意义
发表于 2020-12-25 14:46:27 | 显示全部楼层
   int i=2;
//这时 i++, i=3
由于是 i-= ;
i减等 就相当于 减 自己3-3=0;
i-=i++;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宇宙主机交流论坛

GMT+8, 2024-10-31 01:23 , Processed in 0.062327 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表