首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java在if的末尾继续

Java在if的末尾继续
EN

Stack Overflow用户
提问于 2012-11-10 00:02:47
回答 4查看 53.8K关注 0票数 9

我有一些书中的示例代码,作者总是在if的末尾使用continue。

示例:

代码语言:javascript
运行
复制
int a = 5;
if(a == 5)
{
// some code
continue;
}

现在对我来说,这没有任何意义。这背后可能有某种质量管理的原因,或者我只是错过了一些更大的要点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-10 00:05:51

也许这段代码是在一个循环(for/while/do...while)中?否则,将continue放在条件语句中是没有任何意义的。

事实上,孤立的循环(例如:未嵌套在continue语句中的循环)将在编译时产生continue cannot be used outside of a loop错误。

票数 24
EN

Stack Overflow用户

发布于 2012-11-10 00:06:19

Continue用于转到循环的下一次迭代。所以像这样的事情是有意义的。现在,您可以使用任何条件(您的条件是要中断的a==5 ),以及您想要的任何业务逻辑(我的是一个愚蠢的、人为设计的示例)。

代码语言:javascript
运行
复制
StringBuilder sb = new StringBuilder();
for(String str : strings) {
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    str = str.substring(1);
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    str = str.substring(1);
    sb.append(str);
    if(str.length() == 0) continue; // next loop if empty

    sb.append(str);
}
票数 5
EN

Stack Overflow用户

发布于 2012-11-10 00:12:44

有时强制循环的早期迭代是很有用的。也就是说,您可能希望继续运行循环,但在此特定迭代中停止处理其主体中的其余代码。实际上,这是一个goto,刚过循环体,到达循环体的末端。continue语句执行这样的操作。在while和do-while循环中,continue语句使控制直接转移到控制循环的条件表达式。在for循环中,控制首先转到for语句的迭代部分,然后转到条件表达式。对于所有三个循环,任何中间代码都会被绕过。下面是一个示例程序,它使用continue在每一行上打印两个数字: // example。

代码语言:javascript
运行
复制
class Continue
{ 
public static void main(String args[]) 
    { 
    for(int i=0; i<10; i++) 
        { 
    System.out.print(i + " "); 
    if (i%2 == 0)
    continue; 
    System.out.println(""); 
        } 
    } 
}

这段代码使用%运算符检查i是否为偶数。如果是,则循环继续,而不打印换行符。以下是该程序的输出:

0 1

2 3

4 5

6 7

8 9

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13311551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档