Java 同一线路上的if/else条件不工作
为什么这不起作用Java 同一线路上的if/else条件不工作,java,return,conditional-statements,if-statement,Java,Return,Conditional Statements,If Statement,为什么这不起作用 if (condition) stuff; return; else otherStuff; 还是这个 if (condition) stuff; return; else {otherStuff;} 我可以通过以下方法轻松解决此问题: if (condition) {stuff; return;} else otherStuff; 但我认为if语句会阻止整行,而不排除return。因为: if (condition) stuff; return; else others
if (condition) stuff; return;
else otherStuff;
还是这个
if (condition) stuff; return;
else {otherStuff;}
我可以通过以下方法轻松解决此问题:
if (condition) {stuff; return;}
else otherStuff;
但我认为if语句会阻止整行,而不排除return。因为:
if (condition) stuff; return;
else otherstuff;
if
条件语句只有一条语句,stuff
它后面是一个不相关的return
语句
else
本身就处于停滞状态,这不是合法的Java
分号是语句终止符,而不是EOL。为了使语句成为块,它必须被{}
包围,否则语句以结尾代码>因为:
if (condition) stuff; return;
else otherstuff;
if
条件语句只有一条语句,stuff
它后面是一个不相关的return
语句
else
本身就处于停滞状态,这不是合法的Java
分号是语句终止符,而不是EOL。为了使语句成为块,它必须被{}
包围,否则语句以结尾代码>换行符被Java编译器视为任何其他空白。不能通过将内容放在同一行来更改程序的语法。在前两个示例中,您似乎希望编译器生成这两条语句内容;返回
转换为与if
部分的if/else
关联的单个复合语句。这正是大括号({}
)的用途。换行符被Java编译器视为任何其他空白。不能通过将内容放在同一行来更改程序的语法。在前两个示例中,您似乎希望编译器生成这两条语句内容;返回
转换为与if
部分的if/else
关联的单个复合语句。这正是大括号({}
)的用意。我想对上面的答案进行扩展
如果只有一条语句,则只能使用不带括号的语法。因此,这是有效的:
代码:
在上面,如果表达式==true,则执行语句。
在下面的代码中,它仍然可以工作,但不是您所期望的:
代码:
语句2将在if语句的作用域之外处理,该语句将抛出if..else构造。if中只有语句1。如果您希望在If中执行多条语句,请使用括号(如上海报所述):
代码:
很明显
if (condition) {stuff; return;}
else otherStuff;
我会做你的事
其他参考资料:我想进一步阐述上述答案
如果只有一条语句,则只能使用不带括号的语法。因此,这是有效的:
代码:
在上面,如果表达式==true,则执行语句。
在下面的代码中,它仍然可以工作,但不是您所期望的:
代码:
语句2将在if语句的作用域之外处理,该语句将抛出if..else构造。if中只有语句1。如果您希望在If中执行多条语句,请使用括号(如上海报所述):
代码:
很明显
if (condition) {stuff; return;}
else otherStuff;
我会做你的事
其他参考:no,块一直到第一个分号。no,块一直到第一个分号。实际上,
if
子句在所有情况下只接受一条语句。但是,该语句可以是一个复合语句(从技术上讲仍然是一条语句),它是通过将一系列语句括在大括号中形成的。实际上,if
子句在所有情况下都只接受一条语句。但是,该语句可以是一个复合语句(技术上仍然是一个语句),它是通过将一系列语句括在大括号中形成的。
if (condition) {stuff; return;}
else otherStuff;