java基礎學習筆記(四)—— 控制語句

java基礎學習筆記(四)—— 流程語句

A strong man can save himself,a great man can save another.

| @Author:TTODS



分支語句

分支語句使程序具有了判斷能力

if 語句
		String animal = "龍";
		if(animal=="青蛙") {
			System.out.println("奧!是青蛙!呱呱~");
		}else if(animal=="小貓") {
			System.out.println("奧!是小貓!喵喵~");
		}else if(animal=="小狗") {
			System.out.println("奧!是小狗!汪汪~");
		}else {
			System.out.println("??神祕生物?我還沒見過呢!");
		}

輸出

??神祕生物?我還沒見過呢!
switch語句
		String animal = "小狗";
		switch(animal) {
		case "青蛙":
			System.out.println("奧!是青蛙!呱呱~");
			break;
		case "小貓":
			System.out.println("奧!是小貓!喵喵~");
			break;
		case "小狗":
			System.out.println("奧!是小狗!汪汪~");
			break;
		default:
			System.out.println("??神祕生物?我還沒見過呢!");
		}

輸出

奧!是小狗!汪汪~

循環語句

循環語句可以讓代碼重複運行

while語句

輸出區間[0,40)內的偶數

		int i = 0;
		while(i<40) {
			if(i%2==0)
				System.out.print(i+" ");
		i++;
		}

輸出

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 
do-while語句

輸出區間[0,40)內的偶數

		int i = 0;
		 do{
			if(i%2==0)
				System.out.print(i+" ");
			i++;
		}while(i<40)

輸出

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 

值得注意的是:do-while語句的判斷條件在循環體的後面,就是說循環體至少會運行一遍,例如:

		int i = 40;
		 do{
			if(i%2==0)
				System.out.print(i+" ");
			i++;
		}while(i<40);

輸出

40
for語句
for(int i=0;i<40;i++) {
			if(i%2==0)
			System.out.print(i+" ");
		}
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 
for-each語句
		String[] zoo = {"青蛙","小貓","小狗","恐龍","外星人"};
		System.out.println("動物園裏有什麼?");
		for(String animal : zoo) {
			System.out.print(animal+" ");
		}

輸出

動物員裏有什麼?
青蛙 小貓 小狗 恐龍 外星人 

跳轉語句

跳轉語句能夠改變程序執行的順序,可以實現程序的跳轉。

break語句

九九乘法表

			for(int i=1;i<10;i++) {
			for(int j=1;j<10;j++) {
				if(j>i) break;
				System.out.printf("%d*%d=%2d ",j,i,i*j);
			}
			System.out.println();
		}

輸出

1*1= 1 
1*2= 2 2*2= 4 
1*3= 3 2*3= 6 3*3= 9 
1*4= 4 2*4= 8 3*4=12 4*4=16 
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25 
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 

break的默認用法時跳出最近的內循環,如果在多重循環中想要跳出指定的循環層,可以使用break+label語句,如將上面代碼改寫成如下代碼:

a:	for(int i=1;i<10;i++) {
			for(int j=1;j<10;j++) {
				if(j>i) break a;
				System.out.printf("%d*%d=%2d ",j,i,i*j);
			}
			System.out.println();
		}

輸出:

1*1= 1 

break+label語句可以要程序直接跳出label指定的循環層;

continue語句

continue語句不同於break語句,continue語句用來結束本次循環,跳過循環體中尚未執行的語句,接着進行循環終止條件的判斷,決定是否繼續循環。對於for語句,在進行循環終止條件的判斷前,還要先執行迭代語句(下例中的i++)。

		for(int i =0;i<=5;i++) {
			if(i==3)
				continue;
			System.out.print(i+" ");
		}

輸出:

0 1 2 4 5 

類似的,continue語句也有continue+label用法,通過下面兩段代碼對比,應該還是比較容易理解的。
continue:

		for(int i=0;i<10;i++) {
			for(int j=0;j<10;j++) {
				if(j==4)
					continue;
				System.out.print(i);
			}
			System.out.println();
		}

輸出

000000000
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999

continue+label

	a:	for(int i=0;i<10;i++) {
			for(int j=0;j<10;j++) {
				if(j==4)
					continue a;
				System.out.print(i);
			}
			System.out.println();
		}

輸出

0000111122223333444455556666777788889999

- THE END -
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章