“Java的continue语句”的版本间的差异
来自CloudWiki
(创建页面,内容为“*continue的功能和break有点类似,区别是continue只是忽略本次循环剩下语句,接着开始下一次循环,并不会终止循环;而break则是…”) |
|||
第4行: | 第4行: | ||
*图2-18 for循环中使用continue语句 | *图2-18 for循环中使用continue语句 | ||
*[[文件:java2-20.png]] | *[[文件:java2-20.png]] | ||
− | * | + | *例如:遇到能被3整除的数时不打印: |
+ | |||
<nowiki>public class ContinueTest { | <nowiki>public class ContinueTest { | ||
public static void main(String args[]) { | public static void main(String args[]) { | ||
第14行: | 第15行: | ||
continue ; | continue ; | ||
} | } | ||
+ | System.out.println("i = " + i); | ||
System.out.println("continue后的输出语句"); | System.out.println("continue后的输出语句"); | ||
} | } |
2020年3月27日 (五) 08:46的最新版本
- continue的功能和break有点类似,区别是continue只是忽略本次循环剩下语句,接着开始下一次循环,并不会终止循环;而break则是完全终止循环本身。
- 以for循环为例(如图2-18所示),在循环主体中有continue语句时,当程序执行到continue,即忽略本次循环剩余的语句,继续执行下一次循环。
public class ContinueTest { public static void main(String args[]) { int i ; for(i = 1; i <= 10; i++) { System.out.println("i = " + i); if(i%3 == 0) { // 执行该语句时将结束循环 continue ; } System.out.println("i = " + i); System.out.println("continue后的输出语句"); } } }
- 运行上面程序,看到如下运行结果:
i = 1 continue后的输出语句 i = 2 continue后的输出语句 i = 3 i = 4 continue后的输出语句 i = 5 continue后的输出语句
- 从上面运行结果来看,当i等于3时,程序没有输出“continue后的输出语句”字符串,因为程序执行到continue时,忽略了当次循环中continue语句后的代码。
- 与break类似的是,continue后也可以紧跟一个标签,用于直接跳过标签所标识循环的档次循环的剩下语句,重新开始下一次循环。
例如:输出100到999之间的水仙花数,要求输出的水仙花数百位数不能相同,百位相同的仅输出遇到的第一个。
public class ContinueTestTwo { public static void main(String[] args) { // 外层循环,outer作为标识符 outer: for(int a = 1; a <= 9; a++) { // 嵌套的中间层,middle作为标识符 middle: for(int b = 0; b <= 9; b++) { // 最内层的循环 for(int c = 0; c <= 9; c++) { if(a * a * a + b * b * b + c * c * c == 100 * a + 10 * b + c) { System.out.println("水仙花数:" + (100 * a + 10 * b + c)); // 忽略outer标签所指定的循环中本次循环所剩下语句 continue outer; } } } } } }
- 运行上面程序,看到如下运行结果:
水仙花数:153 水仙花数:370 水仙花数:407
返回 Java程序设计