break & continue
>>>break: 适用范围:switch——case和循环结构中
用途:结束当前循环
>>>continue: 适用范围:循环结构中
用途:结束当次循环,开始下一次循环
*/
import java.util.Scanner;
public class liuckz {
public static void main(String[] agrs) {
//比较break & continue;
System.out.println("这是break的结果:");
for(int i=1;i<=10;i++) {
if(i%4==0) {
break;
}
System.out.print(i+" ");
}
System.out.println();
System.out.println("这是continue的结果:");
for(int i=1;i<=10;i++) {
if(i%4==0) {
continue;
}
System.out.print(i+" ");
}
//默认情况下,break&continue都是对最近的循环起作用;
System.out.println();
System.out.println("这是break的结果:");
for(int i=1;i<=4;i++) {
for(int j=1;j<=10;j++) {
if(j%4==0) {
break;//跳出包裹此关键字最近的一层循环
}System.out.print(j+" ");
}System.out.println();
}
System.out.println();
System.out.println("这是continue的结果:");
for(int i=1;i<=4;i++) {
for(int j=1;j<=10;j++) {
if(j%4==0) {
continue;//结束包裹此关键字最近的一层循环的这一次
}System.out.print(j+" ");
}System.out.println();
}
//指定结束哪个循环结构的方法:对目标循环层加标签********************************
System.out.println();
System.out.println("这是break的结果:");
label:for(int i=1;i<=4;i++) {
for(int j=1;j<=10;j++) {
if(j%4==0) {
break label;//跳出label标注的那一层循环
}System.out.print(j+" ");
}System.out.println();
}
System.out.println();
System.out.println("这是continue的结果:");
label0:for(int i=1;i<=4;i++) {
for(int j=1;j<=10;j++) {
if(j%4==0) {
continue label0;//结束label0标注的那一层循环的这一次
}System.out.print(j+" ");
}System.out.println();
}//***************************************************************************
//==============================================获取2-100000的质数的新方法与旧方法的比较=====================================================
//旧方法
System.out.println();
long start=System.currentTimeMillis();
int count=0;
for(int i=2;i<=100000;i++) {
boolean isPrime=true;
for(int j=2;j<=Math.sqrt(i);j++) {
if(i%j==0) {
isPrime=false;
break;
}
}
if(isPrime) {
//System.out.println(i);
count++;
}
}
long end=System.currentTimeMillis();
System.out.println("方法一找到"+count+"个质数,耗时:"+(end-start));
//新方法
long start1=System.currentTimeMillis();
int count1=0;
label:for(int i=2;i<=100000;i++) {
for(int j=2;j<=Math.sqrt(i);j++) {
if(i%j==0) {
continue label;//当前i可被j整除,直接跳到下一个i;
}
}//System.out.println(i);
count1++;
}
long end1=System.currentTimeMillis();
System.out.println("方法二找到"+count1+"个质数,耗时:"+(end1-start1));
//=========================================================================================================================================