假设我们有一个for循环,它将循环遍历字符串的集合或数组。在这种情况下,我正在寻找一个特定的关键字(例如,嘿),这是我通常如何实现的:
for (String result : strings)
{
if (result == "hey")
{
// Do something with that.
break;
}
}
现在,问题出现了,代码片段是,当if语句返回true时我应该放置一个关键字(return还是break),这样循环就不会继续?如果不是,那么会是什么?发生了什么,以及正确的方法是什么。
编辑:当你使用break并返回时会发生什么?有什么区别?
答案 0 :(得分:1)
让我们把你的代码放在一个方法中:
private void foo()
{
for (String result : strings)
{
if (result.equals("hey"))
{
// Do something with that.
break;
}
}
bar();
}
如果您使用break;
,则循环将终止并且将到达bar
。如果您使用return
,该方法将终止,bar
将不会被执行。
请注意,比较字符串应使用equals
完成,==
比较引用而不是内容。
答案 1 :(得分:0)
如果你知道这个词只能在你肯定可以休息的时候找到;声明,所以在找到匹配后循环不会继续。
如果你可以有多个匹配,并且希望为每个匹配执行if块,则不应该使用break语句,因为它将在找到第一个匹配后停止执行循环。