1.break
声明
让我们看一下上一课的一个例子:
代码 | 解释 |
---|---|
|
该程序将从键盘读取一行,直到您输入"exit" 。 |
该程序从控制台读取行,直到exit
输入单词。如果你输入这个词,则isExit
变量变为true
,循环条件为,循环结束。”!isExit
false
Java 有一个特殊的break
语句可以让你简化这样的逻辑。如果break
语句在循环内执行,则循环立即结束。程序将开始执行循环后面的语句。声明非常简短:
break;
以下是如何使用该break
语句重写我们刚刚讨论的示例:
代码 | 解释 |
---|---|
|
该程序将从键盘读取一行,直到您输入"exit" 。 |
2.继续声明
但这break
并不是唯一允许您控制循环行为的 Java 语句。Java也有continue
声明。continue
如果在循环内执行语句,循环的当前迭代将提前结束。
执行一次循环体称为循环的一次迭代。该continue
语句中断循环的当前迭代,但与该break
语句不同的是,它不会结束循环本身。声明也很简短:
continue;
continue
如果我们想在某些情况下“跳过”循环体的执行,该语句在循环中非常方便。
任务:我们要编写一个程序,打印从1
到 的数字20
,但跳过可被 整除的数字7
。这就是这段代码的样子。
代码 | 解释 |
---|---|
|
该程序显示从1 到 的数字20 。如果数字可以被整除7 (除以的余数是7 )0 ,那么我们就跳过显示数字。 |
实际上,这段代码是行不通的,因为i
它会永远停留在数字上7
。毕竟,该continue
语句会跳过另外两个语句:System.out.println(i)
和i++
。结果,一旦达到 value 7
,变量i
将停止变化,我们将陷入无限循环。
我们故意这样写代码来说明这个非常常见的错误。我们如何解决它?
这里有两个选项:
选项 1:i
在执行之前更改continue
,但之后i % 7
选项 2:i
始终在循环开始时递增。但那时i
的起始值必须是0
.
选项1 | 选项 2 |
---|---|
|
|
GO TO FULL VERSION