我有一个没有执行的while循环.我不相信存在无限循环或启动问题,但有吗?我找不到我的逻辑错误!
public class Test
{
public static void main (String [] args)
{
int i = 1;
int j = 1;
while ((i < 10) && (j*j != 25));
{
i++;
++j;
System.out.println( i * j );
}
}
}
Run Code Online (Sandbox Code Playgroud)
Esa*_*ija 15
while循环后删除分号
public static void main (String [] args)
{
int i = 1;
int j = 1;
while ((i < 10) && (j*j != 25)) //Semicolon removed from here
{
i++;
++j;
System.out.println( i * j );
}
}
Run Code Online (Sandbox Code Playgroud)
在循环声明之后直接出现的任何语句都被认为是整个块,如果它没有用大括号括起来的话.
IE
if( true )
System.out.println( "hello" );
System.out.println( "world" );
Run Code Online (Sandbox Code Playgroud)
被视为
if( true ) {
System.out.println( "hello" );
}
System.out.println( "world" );
Run Code Online (Sandbox Code Playgroud)
单个分号被视为空语句,因此构成了整个循环体.