publicclassTest{publicstaticvoidmain(Stringargs[]){inti=1;intj;j=++i*++i;System.out.println(j);}}不明白结果为什么是6呢...

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 你庄哥

    12人对此回答表示赞同

    ++i*++i;

    你懂++i的意思吗? 在运算前+1
    第一个++i 此时i是2 第二个++i 这时候的i已经是2了再运算前+1就是3
    2*3不是6???
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Ryan

    11人对此回答表示赞同

    ++的优先级高于算术运算符*,这不就出来了吗,++i的值是2,同时此时i的值为2,再去执行++i,相当于++2,后一个++i的值不就是3了,2*3=6
    展开
    11
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 胡歌是我哥

    8人对此回答表示赞同

    这个很简单啊,i首先是1,因为++i会先将i加一,然后将加一后的值赋给i,所以j=++i*++i变成j=2*++i,然后i再++,就变成了j=2*3,结果就是6
    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Mckenzie

    1人对此回答表示赞同

    关键在++i*++i
    这个表达式可以看成(++i)*(++i)
    先运算第一个括号(++i),得到括号代表的值是2,此时i=2
    再运算第二个括号(++i), 注意此时i=2,所以得到的括号的值是3,运算完i也等于3
    再就是括号1*括号2,2*3=6
    展开
    1
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部