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

来源:4-12 Java循环跳转语句之 continue

qq_壁虎大魔王_0

2016-12-15 10:10

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);

}

}


写回答 关注

5回答

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

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

    qq_壁虎大...

    因为我是求1到10之间的偶数和,所以我设了一个跳转Ccntinue在奇数的时候就不跳过不计算只计算偶数的。。之前不懂得是这个 sum=sum+i的放置问题,后来想了半天发现都是逻辑顺序问题,他运行都是从上到下依次来的。可能是题目是需要这样一步一步的来, 表示刚学这个头好大有的时候 。。 谢谢你的解答

    2016-12-17 10:28:46

    共 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),才能求偶数的和啊。

    qq_壁虎大...

    哥们你这个就错了,我这个是对的,只是不知道为什么来由,放在IF里面是不可以的,你可以去运行一下

    2016-12-15 11:32:25

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题