请解释此代码以及输出如何变为10?
class L1 {
public static void main(String args[]) {
int i;
for (i=0; i<=9; i++); //termination
{
System.out.println(i);
}
}
}
输出
10
答案 0 :(得分:4)
for (i = 0; i <= 9; i++) ; // at the moment for loop exit i=10
因为i=9
i++
会进一步增加i
。
我认为你错误地提出了;
。因为for
循环执行而没有for
循环体..
试试以下内容。现在你可以理解你为什么要这样做了。
int i;
for (i = 0; i <= 9; i++){
System.out.print(i);
}
System.out.println("\nprint i: "+i);
Out put:
0123456789 // what for loop does
print i: 10 // what i++ does
答案 1 :(得分:0)
我+ + 在for循环结束后 我将成为10
答案 2 :(得分:0)
你有一个&#39 ;;&#39;在for
行之后,这不应该存在。
答案 3 :(得分:0)
您的代码相当于:
for (i=0; i<=9; i++) {
// do nothing
}
System.out.println(i);
你完成循环,什么都不做,然后输出结果。
如果要输出i
的每个值,请执行以下操作:
for (i=0; i<=9; i++) {
System.out.println(i);
}
答案 4 :(得分:0)
你的循环就是那样,
int i;
//for (i=0; i<=9; i++); //termination
for (i=0; i<=9;) {
i = i + 1;
}
//now i is 10
System.out.println(i);
答案 5 :(得分:0)
for循环后应该没有分号。你编写它的方式将迭代循环使i = 10。只有这样才能继续打印i。 代码应为:
for (i=0; i<=9; i++)
{
System.out.println(i);
}