问答详情
源自:4-8 Java循环语句之 do...while

我彻底懵逼了,求大神详解啊!!sum=sum+num;num=num+2;

sum=sum+num

num=num+2

这两串是什么意思?是固定的字符串吗?我根本理解不了这些代码.......晕

提问者:weixin_慕移动4434633 2016-08-15 19:36

个回答

  • 慕雪1790920
    2016-10-13 22:54:02
    已采纳

    我就这么说吧,说的不对了请指出,不明白请问。我也是初学者。自己计算器摆弄了好一会,理清思路才敢写出来。帮助别人去证明一样东西,很有助于自己举一反三,理清思路。互助互利了吧。

    因为do{}while的语法是优先执行一次{}内的计算,再判断while内的真假对错,所以可以这样分化理解。

    1)因为do{}while语法是优先{}运算并且必须被运算一次后才会判断。所以就如2)一样

     2)新sum = 2+0;所以新sum=2  新num = 2+2;新num =4 这是必须运算一次得出的新数值。sum=2;num=4

    3)while判断num并不等于50所以继续重复2)的步骤。第二次运算sum =2+4;num = 4+2;新的sum=6;num=6.然后第三次是新sum= 6+6=12;新num= 6+2=8.第四次新sum=12+8=20,num=8+2=10.一只到新num是50后停止运算输出50+上一次运算得出的sum=650就是正确的。 如果你看我下面给出的计算器的图应该会更明白吧。

    其实你不如用650-50得出的结果-48再减46以每次的结果减去2的偶数来算,最后一个减数必定是2-0,也就是这个语法的第一次运算,即是判断之前也要必须进行的一次运算。

    57ff9f3a00016db403190592.jpg

    57ff9f3b00012fa005000587.jpg

    57ff9f3c0001b6fe05000587.jpg


  • qq_何必忙著為自己解釋_03169832
    2016-08-16 10:00:54

    int sum = 0; // 保存 1-50 之间偶数的和

            int num = 2; // 代表 1-50 之间的偶数

            do {

    sum = sum + num;

    num = num + 2;

            } while (num<=50);

    定义sum初始值为0;num为2;然后利用do-while循环

    sum=sum+num;就是让每个num值加起来等于sum;相当于sum=0+2+4+6+8......+50

    num=num+2;就是没循环一次num就加2,上面的2、4、6、 8、 等都是这样传递给上面的

  • 慕粉void
    2016-08-15 22:07:39

    num的初值为0,每次加2,就表示偶数,sum表示这些偶数的和,通过累加的方式来求。

  • 潇慕粉
    2016-08-15 20:15:58

    num=num+2指每次循环num值都加2;

    sum=sum+num指每次循环sum指都加上已经改变过的num的值!

    因为num值是从0不停加2,sum就是从0加到50!

  • linny3822314
    2016-08-15 20:02:43

      num 的初始赋值为0   那么每次加2 当然是偶数啦