【发布时间】:2019-04-18 04:52:42
【问题描述】:
今天找了半个小时的bug,发现可以在if语句后面加分号,而不是代码,像这样:
if(a == b);
// Do stuff
这基本上意味着无论a 是否等于b,这些东西都会完成,而if 语句没有任何意义。为什么Java不给我一个错误?在任何情况下这会有用吗?
【问题讨论】:
-
看起来像无操作,即如果 a 与 b 相同,则什么也不做;你可以在那里添加一个javadoc,但我想不出任何其他用途
-
不,这没有任何用处。为什么?如果我在 Java 中不懂的每一件事都能得到一毛钱:)
-
一般规则是分号(;) 完成语句。所以在那之后什么都没有发生
if -
啊哈!这是 Python 语法的一种错误 - 视觉缩进显示块范围,这使得这种错误在 Python 中不太可能发生,因为通常情况下,如果代码块没有缩进到 if 语句中, 那么它不在 if 语句中。
-
@gefei :这没有任何用处, 真的。但在某些情况下,这会(或被用来)影响程序。请看我的回答。
标签: java if-statement