java - 使用 'return' 来打破 Java 中的 for 循环是不是不好的风格?

标签 java

我正在用基本的 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/

相关文章:

java - 发送 codeName 为 1 的 post 请求时,Json String 为空

java - 将邮件列表应用程序与社交站点集成

java - 如何从命令行禁用 Maven Javadoc 插件?

java - 基于特定条件的 Camel 条件路由

java - 类无法使用来自不同包的反射访问其自己的 protected 成员变量

java - 动态报告导出pdf类未找到异常错误

java - 递归地寻找迷宫的解决路径

java - JNI 将 TreeMap 从 java 传递到 c

java - 与等效的 Java 代码相比,C# BitConverter 输出错误的 double 值

java - 二元运算符何时在 Java 中执行?