问答详情
源自:4-9 Java循环语句之 for

请问我的For循环中,多了一个分号,这道题的结果就不同,这是为啥?

package shuomac.www;


public class HelloWorld{

public static void main(String[] args) {

int sum = 0;

for (int mashuo =1;mashuo <= 100;mashuo++) {

if (mashuo % 3 != 0);//就是多了这个分号,计算结果是5050,少了这个分号,计算结果就是对的,这是为啥?


{

sum = sum + mashuo;

}

}

System.out.println("The Number Can't divide By 3 Sum is: "+sum);

}

}





提问者:大数据PMP 2018-06-17 12:53

个回答

  • NickGu
    2018-06-17 14:57:39
    已采纳

    加分号可能是提前结束if语句,后面大括号不执行吧*(来自一个的初学者想法)

  • Ferne
    2018-06-29 15:39:50

    学习了

  • 欧姆表不孤独
    2018-06-27 14:19:11

    if (i==0) ;

    {

    System.out.println("ok");

    }

    在这段程序中,if语句后面有“;”,意味着if判断后,并没有执行任何事情就结束了,而后面的大括号里的内容会在if语句执行后顺序执行,也就是说无论是否满足条件都会执行。注意大括号本身没有什么作用

  • 大数据PMP
    2018-06-20 02:17:28

    谢谢大家帮忙解答,一起加油努力!!!

  • 大数据PMP
    2018-06-20 02:17:25

    谢谢大家帮忙解答,一起加油努力!!!

  • 水不要鱼_
    2018-06-18 20:24:10

    加了分号,if (mashuo % 3 != 0); 就变成了 if (mashuo % 3 != 0) {} ,和下面的代码就没有关系了

    {

        sum = sum + mashuo;

    }

    就变成了代码块,不管 if 条件是否满足都会执行

  • 不会太久
    2018-06-18 13:11:00

    if语句如果只有一句话,花括号可以省略

    if(XXX){XXX;}写法等同于  if(XXX)XXX ;

    if (mashuo % 3 != 0);  这样写等同于if (mashuo % 3 != 0){;}

  • 不sa羊
    2018-06-17 21:32:37

    加了分号if语句就没有意义了,变成1到100累加了