1. 程式人生 > >Java中迴圈語句的控制

Java中迴圈語句的控制

迴圈結構的控制語句

 1,break語句

 2,continue語句

 3,return語句

1.break語句

在Java中,我們可以通過一些語句,比如break,continue,return來控制迴圈語句的執行;

break語句是當前的迴圈結束,後續的迴圈也結束

下面舉例子

package Hello;

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

輸出結果為:

i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9 
i=2 j=1 i=2 j=2 i=2 j=3 i=2 j=4 i=2 j=5 i=2 j=6 i=2 j=7 i=2 j=8 i=2 j=9 
i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9 
i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9 
i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9 
i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9 
i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9 
i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9 
i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9 

 假如現在需要把i=2的這一行不輸出,這時我們可以用break結束當前迴圈

package Hello;

public class xunhuan {
	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			for(int j=1;j<10;j++){
				if(i==2){
					break;
				}
				System.out.print("i="+i+" j="+j+" ");
			}
			System.out.println();
		}
	}
}

當i=1時,break結束整個內層迴圈,直接執行外層迴圈

輸出結果為:

i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9 

i=3 j=1 i=3 j=2 i=3 j=3 i=3 j=4 i=3 j=5 i=3 j=6 i=3 j=7 i=3 j=8 i=3 j=9 
i=4 j=1 i=4 j=2 i=4 j=3 i=4 j=4 i=4 j=5 i=4 j=6 i=4 j=7 i=4 j=8 i=4 j=9 
i=5 j=1 i=5 j=2 i=5 j=3 i=5 j=4 i=5 j=5 i=5 j=6 i=5 j=7 i=5 j=8 i=5 j=9 
i=6 j=1 i=6 j=2 i=6 j=3 i=6 j=4 i=6 j=5 i=6 j=6 i=6 j=7 i=6 j=8 i=6 j=9 
i=7 j=1 i=7 j=2 i=7 j=3 i=7 j=4 i=7 j=5 i=7 j=6 i=7 j=7 i=7 j=8 i=7 j=9 
i=8 j=1 i=8 j=2 i=8 j=3 i=8 j=4 i=8 j=5 i=8 j=6 i=8 j=7 i=8 j=8 i=8 j=9 
i=9 j=1 i=9 j=2 i=9 j=3 i=9 j=4 i=9 j=5 i=9 j=6 i=9 j=7 i=9 j=8 i=9 j=9 

我們發現i=2的這行並沒有輸出

break標籤

關鍵break 還有一個break標籤 我們可以從內層跳到外層,結束外層迴圈;

比如我們只需要輸出第一行  我們時候可以用標籤實現:

package Hello;

public class xunhuan {
	public static void main(String[] args) {
		out:
		for(int i=1;i<10;i++){
			for(int j=1;j<10;j++){
				if(i==2){
					break out;
				}
				System.out.print("i="+i+" j="+j+" ");
			}
			System.out.println();
		}
	}
}

break直接跳到外層迴圈,執行外層迴圈的結果;

輸出結果為:

i=1 j=1 i=1 j=2 i=1 j=3 i=1 j=4 i=1 j=5 i=1 j=6 i=1 j=7 i=1 j=8 i=1 j=9 

2.continue語句

continue是跳過當前迴圈,直接執行後續的迴圈

假如在輸出1-10的數字時,如果想去掉5和8的話,就可以用continue語句;

package Hello;

public class test {

	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			if(i==5||i==8){
				continue;
			}
			System.out.print(i+" ");
		}
	}
}

輸出結果為:

1 2 3 4 6 7 9 

如果此處改為break,break是結束後續迴圈

package Hello;

public class test {

	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			if(i==5||i==8){
				break;
			}
			System.out.print(i+" ");
		}
	}
}

結果為: 

1 2 3 4 

讀者可以體會一下break與continue的區別

3.return語句

return語句是直接結束整個程式的執行

package Hello;

public class test {

	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			if(i==5||i==8){
				break;
			}
			System.out.print(i+" ");
		}
		System.out.println("執行到這裡");
	}
}

這是break語句的結束後續迴圈,但是並沒有結束整個程式的執行,程式一直執行到for迴圈外面

結果為:

1 2 3 4 執行到這裡

而return語句是結束整個程式的執行

package Hello;

public class test {

	public static void main(String[] args) {
		for(int i=1;i<10;i++){
			if(i==5||i==8){
				return;
			}
			System.out.print(i+" ");
		}
		System.out.println("執行到這裡");
	}
}

return語句直接終止程式的執行

其結果為:

1 2 3 4 

for迴圈外面的程式也被終止

讀者可以體會一下return和break的區別