Java Else子句(在if语句中)未执行

Java Else子句(在if语句中)未执行,java,Java,在if语句后有分号 你想要 Description Resource Path Location Type Syntax error on token "else", delete this token Funny.java /Hello Woood/src line 15 Java Problem 摆脱在if语句的条件和开头的大括号之间。您应该删除;在if和else语句之后。如果您只删除了;在if语句之后,代码将执行System.out.println(“world

在if语句后有分号

你想要

Description Resource    Path    Location    Type
Syntax error on token "else", delete this token Funny.java  /Hello Woood/src    line 15 Java Problem

摆脱
在if语句的条件和开头的大括号之间。

您应该删除;在if和else语句之后。如果您只删除了;在if语句之后,代码将执行System.out.println(“world”)

基本上发生的是

if(n==5) {
    code();
}
它本身被解释为一个语句。类似于“n等于5吗?如果是,那就酷,随便什么”

现在,下一个语句与if无关。它是一个匿名块,按原样执行:

if (n==5);
现在,语句后面的“else”对java来说没有意义,因为没有if语句可以链接它(第一个语句由于;)而完成)。因此,语法错误

另一个经常被忽视的陷阱是;是:

{
  System.out.println("welcome");
}
在这个例子中,你要么得到一个无限循环(n是5,永远不会改变),要么得到打印输出“n仍然是5…”(即使此时n不是5)。然后它将递增。非常混乱,所有这些都是因为;它将块与while循环分开

正如所有人在我之前所说的…,移除


希望这有帮助…:-)

如果答案有帮助,请单击复选标记接受它。这告诉其他人问题得到了回答。
{
  System.out.println("welcome");
}
while (n==5); {
    System.out.println("n is still 5, let's make it more..."); 
    n++;
}