Java基础语法21-Break和Continue关键字的使用
使用范围 | 循环中使用的作用 | 相同点 | |
---|---|---|---|
break | switch-case、循环结构 | 结束当前循环 | 关键字后面不能声明执行语句 |
continue | 循环结构 | 结束当次循环 | 关键字后面不能声明执行语句 |
class ForForTest {
public static void main(String[] args){
for(int i = 10 ; i <= 10 ; i++){
if(i % 4 == 0){
break;// 1 2 3
//continue;// 1 2 3 5 6 7 9 10
}
System.out.println(i);
}
for(int i = 1 ; i <= 4 ; i++){
for(int j = 1 ; j <= 10 ; j++){
if(j % 4 == 0){
//break;//结果包裹此关键字最近的一层循环
//continue;
}
System.out.print(i);
}
System.out.println();
}
}
}
带标签的break和continue
class ForForTest {
public static void main(String[] args){
label:for(int i = 1 ; i <= 4 ; i++){
for(int j = 1 ; j <= 10 ; j++){
if(j % 4 == 0){
//break;//结果包裹此关键字最近的一层循环
//continue;
//break label;//结束指定标识的一层循环结构
continue label;//结束指定标识的一层循环结构的当次循环
}
System.out.print(j);
}
System.out.println();
}
}
}
进一步优化质数
class PrimeNumberTest {
public static void main(String[] args){
Boolean isFlag = true; //作为一个标志,当找到了合数时变为false
long start = System.currentTimeMillis();
label:for(int i = 2 ; i <= 100000 ; i++){//遍历100以内的自然数
//优化
for(int j = 2 ; j <= Math.sqrt(i) ; j++ ){// 用i去除以j
if(i % j == 0){
continue label; //可以少除几次
}
}
System.out.println(i);
}
long end = System.currentTimeMillis();
System.out.println("所花费的时间为:" + (end - start));
}