Java for循环中的分号放错了位置
当我在做作业的时候,我犯了一个小错误,那就是;在for循环中,类似于下面的代码Java for循环中的分号放错了位置,java,for-loop,Java,For Loop,当我在做作业的时候,我犯了一个小错误,那就是;在for循环中,类似于下面的代码 for(i=0;i<n;i++);{ n=n*i; } for(i=0;i执行此操作时:for(i=0;i如果在for循环后放置分号,则其语法在技术上是正确的。因为它被视为一个空语句-这意味着不需要执行任何操作 就你而言— for(i=0;i<n;i++); for(i=0;i由于分号结束了语句,[for(i=0;i=0或n,如果n
for(i=0;i<n;i++);{
n=n*i;
}
for(i=0;i执行此操作时:for(i=0;i如果在for循环后放置分号,则其语法在技术上是正确的。因为它被视为一个空语句-这意味着不需要执行任何操作
就你而言—
for(i=0;i<n;i++);
for(i=0;i由于分号结束了语句,[for(i=0;i
代码应为:
for(i=0;i<n;i++) {
n=n*1;
}
for(i=0;ifor
循环只能执行一个代码块或一条语句,甚至是空语句。所以这里的分号表示空语句(不执行任何操作的语句)
换句话说,您可以为(int i;i得到6的原因很简单。在上一次迭代中,i的值从5变为6,循环不会进行另一次迭代,因为i=6,它不再满足for循环的条件。因为n=1和i=6,那么n*i的输出是6。您使for
循环完全由一个空的语句。然后循环后面是大括号中的块,但该块不是循环的一部分。编译器从未到达并执行括号中的块。我非常怀疑此代码是否能满足您的要求。除了语法错误之外,如果n>=0
或n
,如果n<0
@gunner-不正确,它将使用当前值i
和n
执行大括号内的行一次,我投票将此问题作为非主题关闭,因为OP对其进行了询问和回答,然后将其更改为完全不同的问题。a类{public static void main(String args[]){int i,n=1;对于(i=1;i@RangaGanesh这不会有太大变化。for
循环只能执行一个代码块或一条语句,即使代码块或语句为空。
for(i=0;i<n;i++) {
n=n*1;
}
for(int i; i<n; i++);{
foo();
}
for(int i; i<n; i++){
//do nothing, except i++
}
//after loop finishes
{
foo();
}
for(int i; i<n; i++);
foo();
for(int i; i<n; i++){
}
foo();
int i, n=1;
for(i=1; i<=5; i++);
n=n*i;
System.out.println(n);
for(i=1; i<=5; i++);
n=n*i;
for(i=1; i<=5; i++){}
n=n*i;
for(i=1; i<=5; i++)//<--removed semicolon
n=n*i;
for(i=1; i<=5; i++){
n=n*i;
}
for(i=1; i<=5; i++)
;
{
n=n*i;
}