weixin_慕移动4434633
2016-08-15 19:36
sum=sum+num
num=num+2
这两串是什么意思?是固定的字符串吗?我根本理解不了这些代码.......晕
我就这么说吧,说的不对了请指出,不明白请问。我也是初学者。自己计算器摆弄了好一会,理清思路才敢写出来。帮助别人去证明一样东西,很有助于自己举一反三,理清思路。互助互利了吧。
因为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,也就是这个语法的第一次运算,即是判断之前也要必须进行的一次运算。
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、 等都是这样传递给上面的
num的初值为0,每次加2,就表示偶数,sum表示这些偶数的和,通过累加的方式来求。
num=num+2指每次循环num值都加2;
sum=sum+num指每次循环sum指都加上已经改变过的num的值!
因为num值是从0不停加2,sum就是从0加到50!
num 的初始赋值为0 那么每次加2 当然是偶数啦
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题