在Java中,能否在for之后立即放置if?
Eclipse允许我编写如下代码,并且不会显示任何错误:
for (SomeClass c : listOfSomeClass) if (c.someBoolean) {
// actions to take if someBoolean is true
}
这会像预期的那样,还是这不是有效的Java
你可以在下面搜索框中键入要查询的问题!
Eclipse允许我编写如下代码,并且不会显示任何错误:
for (SomeClass c : listOfSomeClass) if (c.someBoolean) {
// actions to take if someBoolean is true
}
这会像预期的那样,还是这不是有效的Java
# 1 楼答案
非正式地说,
for
结构有以下语法:for (...)
语句通常,语句将采用分隔
{
指令集的形式,每个指令集之间用^{}
但是,当然,可以省略单个语句的大括号自从
if (
){ }
是一条语句,你的代码是有效的但这并不清楚:至少要遵守一个既定的惯例,在下一行的
if
开头加上一层缩进。我总是在写for
循环时使用大括号,但这是个人的选择,很多受人尊敬的程序员都不这么做# 2 楼答案
是的,它可以做到,如果循环
将执行多次
在for循环之后,会立即执行什么。 比如
和
所以它会打印欢迎10次
但是这个例子
f
将打印欢迎10次,外部打印一次。 上述代码类似于
# 3 楼答案
它工作正常,但格式可能会让人困惑。即使你也不确定它会做什么。我建议您使用eclipse中的标准格式化程序生成以下内容
# 4 楼答案
如果你想在循环中执行多行代码,你可以这样写
现在,如果你只想根据循环执行一个单音代码行,那么你可以这样写
现在这一行可以是任何有效的代码行 因此,如果条件也允许
因此,您的最终代码是
这与
# 5 楼答案
这是有效的。
if
的重复次数与listOfSomeClass
的元素重复次数相同。但这并不意味着像这样编写Java是个好主意。请永远不要这样做你甚至可以写这样的东西
如果你感觉特别反常
然而,在编写代码时,重要的是编写其他程序员可以轻松阅读、理解和修改的代码。一旦一个软件系统投入生产,您可以相当肯定,在将来的某个时候,它将需要进行更改。你不能确定的是这些变化会是什么
所以一个好的程序员,一个专业的程序员,写代码的方式要尽可能容易修改;这意味着尽可能容易理解。现在,我们专业程序员已经习惯了看到代码以某种方式排列。与
for
和if
一起使用的花括号,无论它们是否实际需要。一致的压痕。直观地使用变量名等等。任何稍微不寻常的事情都会让我们慢下来我不想挠头,试图弄明白代码是如何工作的。我不想考虑哪些行是
for
循环或if
分支的一部分。我想要一段代码,当我第一次看到它时,它会告诉我它的功能。所以,如果你曾经和我在同一个团队中,或者和任何一个模模糊糊地像我的程序员在同一个团队中,那么出于对这个世界上一切美好事物的热爱,请像这样写这个循环# 6 楼答案
这是有效的Java代码,如下所示:
实际上,Java允许您在for循环条件之后编写一行语句。例如:
请注意,这种风格通常不受欢迎,因为它可能会导致对代码功能的误解