ITPub博客

首页 > 应用开发 > Java > i = ++i

i = ++i

原创 Java 作者:20170405 时间:2020-08-20 16:59:04 0 删除 编辑

  i = 2;

  i = i++ + ++i;

  结果输出6,从左到右算,i++之后i为3,后边++i之后,i为4

  但i++取的是旧值2,所以2+4= 6

  i = ++i + i++;

  结果为7,这就很容易困惑,其实只要记得++i的时候,i取得是最新的值,所以++i之后,i为3,后边i++之后i为4,但取旧值3,前边的++i取新值4,所以结果3+4 = 7

  这么说你可能不信,接着  

  i = ++i + ++i;

  结果为8,两个都是++i,都取新值,所以4+4 = 8

  i = ++i + ++i + ++i;

  如果按照上边的思路,结果为15,可惜不是,首先这里两个+运算符,一个+运算符当作一个小整体,所以前边两个++i相加结果依旧为8,后边++i之后i为5,调用第二个+运算符,8+5 = 13

  i = i++ + ++i + ++i;呢

  相信你已经明白了,没错,是11,第一个+号,结果如上,为6,第二个+号运算符则为6+5 = 11


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69979119/viewspace-2713363/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Linux 操作系统
请登录后发表评论 登录
全部评论

注册时间:2020-07-14

  • 博文量
    61
  • 访问量
    27106