JAVA基础

longer262110 2013-04-26 01:52:04
public class TestJJ {
public static void main(String[] args) {
int i = 8;
//①i++;②++i;③i=i++;④i+=1;
System.out.println(i);
}
}

如上:四种方式得到的结果分别是什么,为什么?
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
longer262110 2013-04-27
  • 打赏
  • 举报
回复
我说下答案:9,9,8,9 原理涉及到栈中取值,存值,但是我没搞懂。
guwei4037 2013-04-26
  • 打赏
  • 举报
回复
引用 2 楼 longer262110 的回复:
[quote=引用 1 楼 guwei4037 的回复:] i++ //自增加1,先赋值再加,结果为8 ++i //自增加1,先加再赋值,结果为9 i=i++ //先赋值,再加1,结果为8 i+=1 //等同于i=i+1,结果为9
第一个结果错啦,另外最根本原理不对![/quote] 是直接在System.out.println(i++);这样输出的,哪里不对?
longer262110 2013-04-26
  • 打赏
  • 举报
回复
引用 1 楼 guwei4037 的回复:
i++ //自增加1,先赋值再加,结果为8 ++i //自增加1,先加再赋值,结果为9 i=i++ //先赋值,再加1,结果为8 i+=1 //等同于i=i+1,结果为9
第一个结果错啦,另外最根本原理不对!
guwei4037 2013-04-26
  • 打赏
  • 举报
回复
i++ //自增加1,先赋值再加,结果为8 ++i //自增加1,先加再赋值,结果为9 i=i++ //先赋值,再加1,结果为8 i+=1 //等同于i=i+1,结果为9

80,356

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧