为了账号安全,请及时绑定邮箱和手机立即绑定

sum=sum+num; num=num+2; 这个两天的位置颠倒一下,差别在哪儿?

 sum=sum+num;

          num=num+2;

这个两天的位置颠倒一下,差别在哪儿?

正在回答

2 回答

sum = sum + num; 

num = num + 2;

现在定义sum = 0; num = 1;   你这个代码执行之后sum = 0 + 1 ,即sum = 1; num = num + 2;即num = 3;

如果颠倒过来先执行num = num + 2;即num = 3; sum = sum + num ; sum = 0 + 3; 即sum = 3;

0 回复 有任何疑惑可以回复我~
#1

GDlove

像他那样的话不应该是运行结果sum少加了一个num=2的情况吗?运行结果不应该比正确结果更小么怎么实际运行结果更大了
2015-06-22 回复 有任何疑惑可以回复我~
#2

chavin 回复 GDlove

上代码
2015-06-22 回复 有任何疑惑可以回复我~
#3

GDlove 回复 chavin

public class exa2 { public static void main(String[] args) { int sum =0 ; int num = 2; do { num = num + 2; sum=sum+num; } while ( num<=50); System.out.println(" 50以内的偶数之和为:" + sum );
2015-06-22 回复 有任何疑惑可以回复我~
#4

chavin 回复 GDlove

我测试过了 num = num + 2; sum=sum+num; 这样写的话 sum是700 sum=sum+num; num = num + 2; 这样写是650。 结果没错啊,因为当num = num + 2写在后面时最后一次不满足条件而少循环了一次
2015-06-23 回复 有任何疑惑可以回复我~
查看1条回复

第二个赋值改变了num的值

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sum=sum+num; num=num+2; 这个两天的位置颠倒一下,差别在哪儿?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信