问答详情
源自:4-12 Java循环跳转语句之 continue

关于sum=sum+i放置的问题,求解答 如下有两张图。拜托拜托

package com.tang;


public class touPiao {

public static void main(String[] args){

int sum=0;

for(int i=1;i<=10;i++){

if(i%2!=0){

continue;

}sum=sum+i;

}System.out.println("1到10之间所有的偶数之和:"+sum);

}

}

  

package com.tang;


public class touPiao {

public static void main(String[] args){

int sum=0;

for(int i=1;i<=10;i++){

sum=sum+i;

if(i%2!=0){

continue;

}

}System.out.println("1到10之间所有的偶数之和:"+sum);

}

}


提问者:qq_壁虎大魔王_0 2016-12-15 10:10

个回答

  • 翻盖的口袋
    2016-12-16 14:56:58
    已采纳

    我debug了一下,明白了。你的判断语句的意思是,当i为奇数,那么就执行continue;语句,不再往下面执行了,重新开始循环语句,这时候i=i+1;而sum=sum+1;没有执行,被跳过了。当偶数时,执行sum=sum+1;所以上面那个是对的。下面的那一段,先执行了sum=sum+1;再执行判断,没有意义,所有的数都被加了一遍。

  • 慕粉0910262425
    2017-05-01 11:05:51

    下面那段会输出所有的值。if的判断是没有意义的。因为你sum=sum+i是在for的循环之内而不是在if的判断内

  • qq_时光_71
    2017-04-20 11:34:16

    你下面的那个程序,if语句已经没有任何作用了。要不要得到结果都是1到10之间所有数这和

  • 翻盖的口袋
    2016-12-16 14:46:00

    我运行if( i%2==0){ sum=sum+i; }是对的,不过我把continue删掉了。

  • 翻盖的口袋
    2016-12-15 10:35:01

    sum=sum+i;应该放置在if(i%2=0){   }大括号内。你的if语句判断条件写错了,应该是if(i%2=0),才能求偶数的和啊。