循环结构的控制语句
1,break语句
2,continue语句
3,return语句
1.break语句
在Java中,我们可以通过一些语句,比如break,continue,return来控制循环语句的执行;
break语句是终止当前的循环结束,后续的循环也结束
下面举例子
package Hello;
public class xunhuan {
public static void main(String[] args) {
for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
System.out.print("i="+i+" j="+j+" ");
}
System.out.println();
}
}
}
输出结果为:
i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9
i=2 j=1 i=2 j=2 i=2 j=3 i=2 j=4 i=2 j=5 i=2 j=6 i=2 j=7 i=2 j=8 i=2 j=9
i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9
i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9
i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9
i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9
i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9
i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9
i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9
假如现在需要把i=2的这一行不输出,这时我们可以用break结束当前循环
package Hello;
public class xunhuan {
public static void main(String[] args) {
for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
if(i==2){
break;
}
System.out.print("i="+i+" j="+j+" ");
}
System.out.println();
}
}
}
当i=1时,break结束整个内层循环,直接执行外层循环
输出结果为:
i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9
i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9
i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9
i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9
i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9
i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9
i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9
i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9
我们发现i=2的这行并没有输出
break标签
break 还有一个break标签 我们可以从内层跳到外层,并结束外层循环;
比如我们只需要输出第一行 我们时候可以用标签实现:
package Hello;
public class xunhuan {
public static void main(String[] args) {
out:
for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
if(i==2){
break out;
}
System.out.print("i="+i+" j="+j+" ");
}
System.out.println();
}
}
}
break直接跳到外层循环,并且结束外层循环的结果;
输出结果为:
i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9
2.continue语句
continue是跳过当前循环,直接执行后续的循环
假如在输出1-10的数字时,如果想去掉5和8的话,就可以用continue语句;
package Hello;
public class test {
public static void main(String[] args) {
for(int i=1;i<10;i++){
if(i==5||i==8){
continue;
}
System.out.print(i+" ");
}
}
}
输出结果为:
1 2 3 4 6 7 9
如果此处改为break,break是结束后续循环
package Hello;
public class test {
public static void main(String[] args) {
for(int i=1;i<10;i++){
if(i==5||i==8){
break;
}
System.out.print(i+" ");
}
}
}
结果为:
1 2 3 4
读者可以体会一下break与continue的区别
3.return语句
return语句是直接结束整个程序的运行
package Hello;
public class test {
public static void main(String[] args) {
for(int i=1;i<10;i++){
if(i==5||i==8){
break;
}
System.out.print(i+" ");
}
System.out.println("运行到这里");
}
}
这是break语句的结束后续循环,但是并没有结束整个程序的运行,程序一直运行到for循环外面
结果为:
1 2 3 4 运行到这里
而return语句是结束整个程序的运行
package Hello;
public class test {
public static void main(String[] args) {
for(int i=1;i<10;i++){
if(i==5||i==8){
return;
}
System.out.print(i+" ");
}
System.out.println("运行到这里");
}
}
return语句直接终止程序的运行
其结果为:
1 2 3 4
for循环外面的程序也被终止
读者可以体会一下return和break的区别