Java-循环中break和continue区别

break :终止某层循环,在单层循环中直接终止循环,在多层循环中终止break所在那一层的循环

continue :终止某次循环,无论在单层还是在多层循环,continue都是终止对应的那一次循环

具体代码演示:

public class Test {

	public static void main(String[] args) {
		
	}
	/**
	 * 一层循环
	 */
	// 0 1 2 3 4 5 6 7 8 9 
	public static void Test() { 
		for (int i = 0; i < 10; i++) {
			System.out.print(i + " ");
		}
	}
	
	/**
	 * continue 终止某次循环
	 * 当i = 5 时,continue 结束当i=5时循环,所以没有输出5,后面循环继续执行
	 * 所以输出 0 1 2 3 4 6 7 8 9 
	 */
	public static void continueTest() {  // 0 1 2 3 4 6 7 8 9 
		for (int i = 0; i < 10; i++) {
			if (i == 5) {
				continue;
			}
			System.out.print(i + " ");
		}
	}
	
	/**
	 * break 终止当前所在层循环
	 * 当 i = 5 时,break 结束了整个循环(因为只有一层),i >= 5 之后程序都不执行
	 * 所以只输出了0 1 2 3 4
	 */
	public static void breakTest() {   // 0 1 2 3 4 
		for (int i = 0; i < 10; i++) {
			if (i == 5) {
				break;
			}
			System.out.print(i + " ");
		}
	}
	
	
	
	
	/**
	 * 多层循环
	 */
	
	// in_1 in_2 in_3    out_1     in_1 in_2 in_3   out_2    in_1 in_2 in_3 out_3
	public static void MultTest() {    
		for (int i = 1; i <= 3; i++) {
			for (int j = 1; j <= 3; j++) {
				System.out.print("in_" + j + " ");
			}
			System.out.print("out_" + i + " ");
		}
	}
	
	// 
	/**
	 * continue 终止某次循环
	 * 当内层循环的 j = 2 时,跳出循环,继续执行,所以 in_2 没有输出
	 * 所以只输出了 in_1 in_3     out_1     in_1 in_3    out_2    in_1 in_3    out_3 
	 */
	public static void continueMultTest() {    
		for (int i = 1; i <= 3; i++) {
			for (int j = 1; j <= 3; j++) {
				if (j == 2) {
					continue;
				}
				System.out.print("in_" + j + " ");
			}
			System.out.print("out_" + i + " ");
		}
	}
	
	
	/**
	 * break 终止当前所在层循环
	 * 当 j = 2 时,break 结束了内层循环,内层循环 j >= 2 后的代码不执行,不输出 in_2 in_3
	 * 所以只输出了in_1 out_1 in_1 out_2 in_1 out_3
	 */
	public static void breakMultTest() {    
		for (int i = 1; i <= 3; i++) {
			for (int j = 1; j <= 3; j++) {
				if (j == 2) {
					break;
				}
				System.out.print("in_" + j + " ");
			}
			System.out.print("out_" + i + " ");
		}
	}
}

你可能感兴趣的:(Java)