循环break continue return 及循环嵌套

循环关键字

break   用于循环和switch;

continue  用于循环;

return  用于方法;

continue 只会结束当次循环,会进入下一次循环当中,不会跳出循环;

return  主要是跳出当前方法,和循环没甚关系;  

break    可以跳出循环    或者跳出制定循环;

例如:将外层for循环定义为outer

outer:for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(j==5){
break outer;
}
System.out.print(j+",");
}
System.out.println();
}

执行结果

outer:for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(j==5){
break;
}
System.out.print(j+",");
}
System.out.println();
}

由此可以看出 break 不接上自定义的循环名字outer,只会跳出本循环,而不会跳出外层循环,而当后面接上了自定义的外层循环的名字后,直接跳出了外层循环

循环嵌套

循环嵌套难点,但是后面用的不多,我也不知道从何说起先来几个例题;

1.输出前100个素数

//输出前100个素数
int i=2;//数字
int count=0;//计算器
while(true){
//设置标记 默认true为素数,false不是素数
boolean b=true;
//判断i是否为素数
for(int j=2;j<i;j++){
//如果i能被j整除,那么标记变为false
if(i%j==0){
b=false;
break;
}
}
if(b){
//输出素数,计算器+1
System.out.println("第"+(++count)+"个素数为"+i);
//终止循环
if(count==100){
break;
}
}

i++;//数字自增
}

这个素数的题目没什么好说的,主要是理解,素数就是只能被自己和本身整除,那么他肯定是不能1和他本身之间的数字整除的,,,那么循环算法就出来了。

2.打印一个菱形

//打印一个菱形
for(int i=1;i<=8;i++){
for(int j=7;j>=i;j--){
System.out.print(" ");
}
for(int k=1;k<=i*2-1;k++){
System.out.print("*");
}
System.out.println();
}

for(int i=1;i<=7;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int k=13;k>=2*i-1;k--){
System.out.print("*");
}
System.out.println();
}

菱形图形分解如下:

 代码部分如下

原文地址:https://www.cnblogs.com/pcyiren/p/8869867.html