break(跳出)
continue(继续)
break语句:作用范围:选择结构和循环结构。
continue语句:只能应用于循环结构。
注意:
①、这两个语句不能离开应用范围,否则存在是没有意义的。
②、这两个语句单独存在时,下面是不能够有其他语句的,因为程序执行不到。
③、continue语句是结束本次循环继续下次循环。
④可以用标号(合法的标识符都可以作为标号)让这两个语句作用于指定的范围。
例:
public class BreakDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
System.out.println("x="+x);
break;
}
}
}
程序输出结果:
x=0
上面程序中当运行到第六行的break时,会直接跳出for循环所以不会打印出“x=1和x=2”
break语句单独存在时下面不能有其他语句:
本程序无法通过编译(报错),因为break下面的语句永远都不会执行到。
public class BreakDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
break;
System.out.println("x="+x);//本行代码永远无法执行到
}
}
}
在此种情况下break语句下面可以有其他语句
public class BreakDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
if (x==1)
{
break;
}
System.out.println("x="+x);
}
}
}
程序运行结果:
x=0
在此程序中break语句下面可以有其他语句,因为此时的break语句被if判断语句所控制,当x=1时,让程序执行到break语句使程序跳出循环。(当x不等于1时,break语句下面的输出语句会执行到,所以程序可以正常运行)
break跳出指定循环语句
1、break在哪个循环语句中就会跳出哪个循环语句。
1-1:把break写在内层循环语句中:
例:
public class BreakDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
for (int y = 0;y < 4;y++)
{
System.out.println("x="+x);
break;
}
}
}
}
程序运行结果:
x=0
x=1
x=2
当程序执行到break语句的时候会直接跳出内层循环,执行外层循环。
1-2:把break写在外层循环语句中:
例:
public class BreakDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
for (int y = 0;y < 4;y++)
{
System.out.println("x="+x);
}
break;
}
}
}
此程序执行完内层循环后会直接跳出外层循环。
程序执行结果:
x=0
x=0
x=0
x=0
用标号让break语句作用在指定的语句上。
例:
public class BreakDemo {
public static void main(String[] args) {
w:for (int x = 0; x < 3; x++)
{
q:for (int y = 0;y < 4;y++)
{
System.out.println("x="+x);
}
break w;
}
}
}
程序运行结果:
x=0
x=0
x=0
x=0
给外层循环标号w,给内层循环标号q,此时再次使用break语句时,就可以在break后面加上标号,来指定具体跳出哪个循环。
continue单独存在时,下面不能有任何语句。
例:
本程序无法通过编译(报错),因为continue下面的语句永远都不会执行到。
public class ContinueDemo {
public static void main(String[] args) {
for (int x = 0; x < 3; x++)
{
continue;
System.out.println("x="+x);
}
}
}
在此种情况下continue语句下面可以有其他语句
public class ContinueDemo {
public static void main(String[] args) {
for (int x = 0; x <= 10; x++)
{
if(x%2==1)
{
continue;
}
System.out.println("x="+x);
}
}
}
程序运行结果:
x=0
x=2
x=4
x=6
x=8
x=10
在此程序中continue语句下面可以有其他语句,因为此时的continue语句被if判断语句所控制,当x%2==1时,程序会执行到continue语句使程序跳出本次循环,继续下次循环。(当x%2不等于1时,continue语句下面的输出语句会执行到,所以程序可以正常运行)
continue语句特点:结束本次循环,继续下次循环。
在for嵌套中使用continue
public class ContinueDemo {
public static void main(String[] args) {
w:for (int x = 0; x < 3; x++)
{
for (int y = 0; y < 4; y++)
{
System.out.println("x="+x);
continue w;
}
}
}
}
程序运行结果:
x=0
x=1
x=2