我对以下代码有疑问。
public class test
{
public static void main (String[] args)
{
int a = 0;
int b = 0;
for (int i = 0; i < 5; i++); {
b = b + a;
a++;
}
System.out.println(b);
为什么这个0的输出?你可以看到我是一个完整的初学者,但为什么在打印答案之前它没有经过4次循环?
非常感谢帮助!
//困惑的初学者
答案 0 :(得分:1)
For循环遍历for语句之后的语句或块。在这种情况下,您有一个迷路分号导致下一个语句为空。删除它,您的代码将以indended
的形式工作替换:
for (int i = 0; i < 5; i++); {
b = b + a;
a++;
}
- 附 -
for (int i = 0; i < 5; i++) {
b = b + a;
a++;
}
答案 1 :(得分:1)
它不会返回0. In不返回任何内容,因为代码中存在错误。
在for循环之后,没有;
public static void main(String[] args){
int a = 0;
int b = 0;
for (int i = 0; i < 5; i++) {
b = b + a;
a++;
}
System.out.println(b);
}
答案 2 :(得分:0)
只需在for循环语句后删除分号,否则大括号包围的主体将不会被考虑在for循环中。
替换以下内容:
for (int i = 0; i < 5; i++); {
^ <--- remove it
b = b + a;
a++;
}
通过
for (int i = 0; i < 5; i++); {
b = b + a;
a++;
}