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

请问我的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);

}

}





正在回答

8 回答

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

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

大数据PMP 提问者

非常感谢!
2018-06-20 回复 有任何疑惑可以回复我~

学习了

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

if (i==0) ;

{

System.out.println("ok");

}

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

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

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

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

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

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

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

{

    sum = sum + mashuo;

}

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

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

大数据PMP 提问者

嗯嗯嗯, 对哒,说的没错!!!
2018-06-20 回复 有任何疑惑可以回复我~

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

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

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

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

大数据PMP 提问者

谢谢啦,理解了,一起加油哈!~
2018-06-20 回复 有任何疑惑可以回复我~

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

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

大数据PMP 提问者

谢谢您!!!我理解了!!!
2018-06-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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