JAVA语言学习_05(关于continue和break)

continue和break都是跳转语句,但二者有着很本质的区别:break就是简单的停止本次及以后的循环,而continue是本次的循环而进行下一次循环。看下面的例子:

public class Test02{
	public static void main(String args[]){
		for(int i=1;i<=9;i++){
			for(int j=i;j<=9;j++){
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println(";");
		}
	}
}

结果:


下面我用break控制循环:

public class Test02{
	public static void main(String args[]){
		for(int i=1;i<=9;i++){
			for(int j=i;j<=9;j++){
				if(j==5){
					break;
				}
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println(";");
		}
	}
}
结果:


我再用continue控制循环:

public class Test02{
	public static void main(String args[]){
		for(int i=1;i<=9;i++){
			for(int j=i;j<=9;j++){
				if(j==5){
					continue;
				}
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println(";");
		}
	}
}
结果:


比较两次结果,我们很容易就发现,当j=5时,break是跳出第二层循环,j=6,j=7....的循环也不复存在,而continue只是跳出j=5的情况,而j=6,j=7....会继续执行。

continue和break还可以配合标签使用,来控制跳出的地方。看下面的例子:

public class Test02{
	public static void main(String args[]){
		outer:
		for(int i=1;i<=9;i++){
			for(int j=i;j<=9;j++){
				if(j==5){
					break outer;
				}
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println(";");
		}
	}
}
结果:


当j=5的时候,break直接跳到outer的位置,也就是最外层循环,不进行下面的输出。

public class Test02{
	public static void main(String args[]){
		outer:
		for(int i=1;i<=9;i++){
			for(int j=i;j<=9;j++){
				if(j==5){
					continue outer;
				}
				System.out.print(i+"*"+j+"="+i*j+" ");
			}
			System.out.println(";");
		}
	}
}

当j=5的时候,continue跳到outer的位置,但并不终止下次循环,而进行i=2的循环,以此反复。



你可能感兴趣的:(JAVA)