循环结构的控制
1.break语句
退出循环
假设有一个嵌套循环打印i和j
public class test17 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("i="+i+",j="+j+" ");
}
System.out.println();
}
}
}
输出结果为
假如我们有一个需求,把第二行 i=1的情况 不输出,这时候,我们可以用到break,结束当前循环;
public class test18 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(i==1) {
break;
}
System.out.print("i="+i+",j="+j+" ");
}
System.out.println();
}
}
}
这里,当i==1的时候,break 结束内层的整个循环;
输出结果为
break 还有一个break标签 ,可以从内层跳到外层,结束外层循环;比如我们只需要输出第一行 我们时候可以用标签实现:
public class test19 {
public static void main(String[] args) {
Outer:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(i==1) {
break Outer;
}
System.out.print("i="+i+",j="+j+" ");
}
System.out.println();
}
}
}
输出结果:
2.continue语句
continue是结束当前循环,继续下一次循环,比如我们输出1到10 但是我们需要把4和8剔除,这时候我们可以用continue来实现:
public class test20 {
public static void main(String[] args) {
for (int i = 1; i <=10; i++) {
if(i==4||i==8) {
continue;
}
System.out.print(i+" ");
}
}
}
输出结果
3.return语句
return语句比较狠,直接结束方法的运行
public class test21 {
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if(i==1) {
return;
}
System.out.print("i="+i+",j="+j+" ");
}
System.out.println();
}
}
}
输出结果
注:死循环用while(true)或for(;;)表示