break在任何循环语句中的主体部分,均可以用break控制循环流程。break用于强行退出循环,不执行循环中剩余的语句。
(break语句也在switch中使用)
package com.xiaoming.struct; public class BreakDemo { public static void main(String[] args) { int i = 0; while (i<100){ i++; System.out.println(i); if (i==30){ break; } } System.out.println(123); //123 break 跳出循环但不终止程序继续运行到最后 } }
continue语句用在循环语句中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断。
package com.xiaoming.struct; public class ContinueDemo { public static void main(String[] args) { int i = 0; while (i < 100) { i++; if (i % 10 == 0) { System.out.println(); continue; //跳过终止 输出里没有10的整数倍了 } System.out.println(i); } } }
break在任何语句的主体部分,均可以用break控制循环流程。
break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
continue语句用在循环语句体中,用于终止某次循环的过程,即跳出循环体中尚未执行的语句,接着进行下一次是否执行的判断。
goto关键字很早在程序设计语言中出现。尽管goto仍是Java 的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而在break和continue这两个关键字的身上,我们仍可以看出一些goto的影子---带标签break和continue。
"标签"是指后面跟一个冒号的标识符,例如:lable:
对Java来说唯一用到标签的地方是在循环语句之前。而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随标签使用,它们会中断到存在标签的地方。
package com.xiaoming.struct; public class LeableDemo { public static void main(String[] args) { //打印101~150之间所有质数 //质数是指在大于1的自然数中,除了1和它本身以外不存在其他因素的自然数。 int count = 0; //不建议使用 标签的简单写法 outer: continue outer; outer:for (int i = 101; i <= 150; i++) { for(int j = 2;j<i/2;j++){ if(i % j == 0){ continue outer; } } System.out.print(i+" "); // 101 103 107 109 113 127 131 137 139 149 } } }
package com.xiaoming.struct; public class TextDemo { public static void main(String[] args) { //打印三角形 5行 1 3 5 7 9 for (int i = 1; i <= 5; i++) { for (int j = 5; j >= i; j--) { System.out.print(" "); } for (int j = 1; j <= i; j++) { System.out.print("*"); } for (int j = 1; j < i; j++) { System.out.print("*"); } System.out.println(); } } }
如不理解可以通过Debug来观看每一步的值。