Java-サイクル中のbreakとcontinueの違い

13658 ワード

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 + " ");
		}
	}
}