小编典典
好主啊 有时,可能会在满足整体要求的循环中发生某些事情,而不满足逻辑循环条件。在这种情况下,break用于阻止您毫无意义地循环。
例
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;
}
}
在此示例中更有意义的是。每次找到后都继续循环到10,还是循环直到找到该项目并停止?或者说成现实世界;当您找到钥匙时,您一直在寻找吗?
编辑以回应评论
为什么不设置x来11打破循环?这是毫无意义。我们有break!除非您的代码做出的假设x肯定比10以后更大(并且可能不应该这样),否则只使用即可break。
为了完整起见进行编辑
肯定还有其他模拟方法break。例如,在循环中为终止条件添加额外的逻辑。说这是无意义的循环或使用break是不公平的。如前所述,while循环通常可以实现类似的功能。例如,按照上面的示例。
while(x < 10 && item == null)
{
if(array[x].equals("Item I am looking for"))
{
item = array[x];
}
x++;
}
使用break简单意味着您可以通过for循环实现此功能。这也意味着,只要您希望循环的行为不同,就不必继续在终止逻辑中添加条件。例如。
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