使用if语句时,我应该在for循环中使用哪些关键字?

时间:2015-06-14 06:28:19

标签: java if-statement for-loop

假设我们有一个for循环,它将循环遍历字符串的集合或数组。在这种情况下,我正在寻找一个特定的关键字(例如,嘿),这是我通常如何实现的:

for (String result : strings)
{
    if (result == "hey")
    {
        // Do something with that.
        break;
    }
}

现在,问题出现了,代码片段是,当if语句返回true时我应该放置一个关键字(return还是break),这样循环就不会继续?如果不是,那么会是什么?发生了什么,以及正确的方法是什么。

编辑:当你使用break并返回时会发生什么?有什么区别?

2 个答案:

答案 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语句,因为它将在找到第一个匹配后停止执行循环。