IT衡 2015-05-01 02:38 采纳率: 50%
浏览 1703
已采纳

新手问题 JAVA for语句

可能有点幼稚,不过实在是不明白……敢问下面这个语句的具体执行过程是什么样子的?

for (i = 0, j = 0; i < 10; i++) j += j++;

  • 写回答

4条回答 默认 最新

  • Z小繁 博客专家认证 2015-05-01 07:17
    关注

    你好,你这段代码是没有太多实际意义的,个人认为你是写错了吧,从程序运行来看,结果全为0.如图图片说明;稍微改改就好了,j += j++;改成j += ++j;执行过程如下(以修改后的函数为例):
    ① i = 0, j = 0 ——》判断 i 是否<10 ——》是——》++j——》将++j的值1带入计算式j +=++j,此时j=1;
    ②i++ ——》判断 i 是否<10 ——》i=1,是——》++j——》将++j的值2带入计算式j +=++j,此时j=3;
    ③余下省略。。。

    此题因注意
    (1)a= j++ 和 b=++j 的区别,假设 j=1;那么程序运行后,两者都有 j=2,但前者 a=1,后者 b=2 。
    见图图片说明
    图片说明
    (2)for ( A ; B ; C ){ D }执行顺序为A——》判断是否满足B——》满足则执行D(不满足则循环结束)——》C——》判断是否满足B满足则执行D(不满足则循环结束)——》。。。。
    修改代码后程序运行如图图片说明

    希望能帮到你,有什么问题可以继续问我。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗