我正在用基本的 Java 为 CS 类做一个项目。该项目有一个嵌套在 while 循环中的 for 循环。
我不允许使用break
作为提前结束for循环的方式。我发现 return
似乎和 break
有同样的效果。使用 return
作为打破循环的方式是不是不好的风格?
我的 for 循环必须检查三个不同的语句,但如果它找到一个为真,那么它应该立即结束而不继续检查其余语句。
我试图在控制 for 循环的 while 循环中放置一个 boolean 运算符,但在 for 循环结束之前,它不控制 for 循环内部发生的事情。
如果 return
没有返回任何东西,这也有关系吗?
299/01/11 更新:非常感谢大家的评论。我发现通读所有辩论真的很有帮助。
我和我的导师谈过,结果是为了得到满分,我也不应该使用return
。
所以我发现有关在“for”循环中设置 boolean 值的建议非常有用,因为我不知道您可以这样做。
最佳答案
只有当跳出循环后的第一件事是 return
语句时,它们才等价。
无论如何,如果您的讲师不允许break
,他们可能也不允许return
。
您应该知道,这些规则背后有一个很好的基础(以防止面条式代码并使编写可维护代码变得更容易),但有时它们会被过度执行。
例如,该段没有什么不可读:
if (x == 0)
return 0;
return x - 1;
即使它有多个 return
语句。
对于没有多次返回的人群,据说首选的解决方案是这样的:
int y = x - 1;
if (x == 0)
y = 0;
return y;
在我看来,这既可读性差又浪费空间。
当你有非常复杂的逻辑时,真正的问题就会出现,人们为了避免 break
和/或 return
而跳过的环节会导致条件语句几乎不可读.
听听您的讲师 - 毕竟,他们是控制您的成绩的人。然后,一旦你进入现实世界,你就可以从教条主义转向实用主义,并做出自己的决定。
参见 here在教育机构之外寻求有关这些问题的一些好的建议。
关于java - 使用 'return' 来打破 Java 中的 for 循环是不是不好的风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4805258/