Java语言 i = i ++ 的问题,(个人理解)

10 篇文章 0 订阅
1 篇文章 0 订阅

Java语言中的 i = i ++ 的问题

通常情况下

	 int i=0; 
	 int j=i++;
	 System.out.println(i);
得到的结果肯定是 : 1;
但是当我们遇到的是 i = i++ 时候:
	 int i=0;
	 i=i++;
	 System.out.println(i);
  • 情况就不一样了输出的结果是 0 ,;
  1. 首先要清楚这不是数学的问题, 如果是数学那么答案肯定是 1
  2. 在 Java 语言中,i = i++ 并不等效于 i++ ;
  3. 在 Java 中i = i++ 等效于如下的代码 :
	int i = 0;
	//等效代码
	int temp = i;   //就是 temp=0;
	int i = i+1;	//此时i是变成了 2 ;
	//然后Java在输出之前又将之前存储的 temp=0 赋值给了 i;
	i = temp // 即 i = 0;
	//所以当我们输出的时候就会发现 i=i++ 的数值还是 i;
	System.out.println(i);

ps: 在C语言中 i=i++ 是等效于 i++ 的

如有错误请各位大神指点,叩谢了!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值