break stop java_在Java中使用break退出循环是不好的做法吗?
小編典典
好主啊 有時(shí),可能會(huì)在滿足整體要求的循環(huán)中發(fā)生某些事情,而不滿足邏輯循環(huán)條件。在這種情況下,break用于阻止您毫無(wú)意義地循環(huán)。
例
String item;
for(int x = 0; x < 10; x++)
{
// Linear search.
if(array[x].equals("Item I am looking for"))
{
//you've found the item. Let's stop.
item = array[x];
break;
}
}
在此示例中更有意義的是。每次找到后都繼續(xù)循環(huán)到10,還是循環(huán)直到找到該項(xiàng)目并停止?或者說(shuō)成現(xiàn)實(shí)世界;當(dāng)您找到鑰匙時(shí),您一直在尋找嗎?
編輯以回應(yīng)評(píng)論
為什么不設(shè)置x來(lái)11打破循環(huán)?這是毫無(wú)意義。我們有break!除非您的代碼做出的假設(shè)x肯定比10以后更大(并且可能不應(yīng)該這樣),否則只使用即可break。
為了完整起見(jiàn)進(jìn)行編輯
肯定還有其他模擬方法break。例如,在循環(huán)中為終止條件添加額外的邏輯。說(shuō)這是無(wú)意義的循環(huán)或使用break是不公平的。如前所述,while循環(huán)通常可以實(shí)現(xiàn)類似的功能。例如,按照上面的示例。
while(x < 10 && item == null)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
}
x++;
}
使用break簡(jiǎn)單意味著您可以通過(guò)for循環(huán)實(shí)現(xiàn)此功能。這也意味著,只要您希望循環(huán)的行為不同,就不必繼續(xù)在終止邏輯中添加條件。例如。
for(int x = 0; x < 10; x++)
{
if(array[x].equals("Something that will make me want to cancel"))
{
break;
}
else if(array[x].equals("Something else that will make me want to cancel"))
{
break;
}
else if(array[x].equals("This is what I want"))
{
item = array[x];
}
}
而不是while loop帶有如下終止條件的:
while(x < 10 && !array[x].equals("Something that will make me want to cancel") &&
!array[x].equals("Something else that will make me want to cancel"))
2020-09-16
總結(jié)
以上是生活随笔為你收集整理的break stop java_在Java中使用break退出循环是不好的做法吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FreeBSD5.0内核 - 锁机制
- 下一篇: C++中用函数模板实现和优化抽象操作