gpt4 book ai didi

java - 在Java中的 `break`循环中使用 `while`语句有什么问题?

转载 作者:行者123 更新时间:2023-12-02 03:19:10 25 4
gpt4 key购买 nike

我正在参加一个关于 Java 的 session ,演讲者说使用 break 是一种不好的做法。 while 中的声明环形。他说可以使用,但从“良好的编码实践”的角度来看不应该使用。他无法令人满意地解释为什么会这样。

但是,他还提到,此限制在 for 的情况下无效。环形。有人能解释一下吗?

编辑:我不是在谈论 while(true)。一般来说,任何时间(条件)。

最佳答案

IMO,在 while 循环中使用 break 并没有那么糟糕。但我能猜到说话者为什么这么说。

所以如果我有一个像这样的 while 循环:

while (condition1) {
if (condition2) {
break;
}
// do other stuff
}

这样做绝对可以使代码更短:

while(condition1 && !condition2) {
// do other stuff
}

演讲者可能认为 while 循环中的 break 是不必要的,因为您可以将所有条件写在应该写的地方,即在括号中。

然而,事实并非如此。如果我有这个 while 循环:

while (condition1) {
// do other stuff
if (condition2) {
break;
}
}

如何更改它,使其不使用 break

while (condition1) {
// do other stuff
if (condition2) {
condition1 = false;
}
}

这对我来说似乎不太好。

让我们将其放入一段有意义的代码中。您认为哪个更具可读性:

while(noWallInFront) {
walk();
if (sawFriend) {
sayHi();
break;
}
}

while(noWallInFront) {
walk();
if (sawFriend) {
sayHi();
noWallInFront = false;
}
}

显然是第一个,对吧?第二个听起来就像你把你的 friend 当作一堵墙一样。

关于java - 在Java中的 `break`循环中使用 `while`语句有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com