流程控制指的是在程式運作的過程中控製程式運作走向的方式。主要分為以下幾種:
順序結構
順序結構,顧名思義,是指程式從上往下逐步順序執行。中間沒有任何的判斷和跳躍。
分支結構
java提供兩種分支結構:if和switch,其中if語句使用布林表達式或布林值進行判斷來進行分支的控制,而switch語句則是使用整數,String類型,枚舉類型。
if語句
if語句使用布林表達式或是布林值來判斷來進行分支的控制,主要有以下三種結構:
if語句
if(條件){
}/語句
if(條件){}
/語句
執行走向
例:
int score = 65;if(score >= 60){
if…else語句
if ( 條件) {
//語句1
} else {
例:
int score = 65; if(score >= 60){
System.out.println("您及格了,恭喜");} else { System.out.println("沒及格,打掃廁所三個月");
三個月}
if…else if語句
if ( 條件) {
//語句 } else if ( 條件) {
語句 } 走向圖
例:
對學員的結業考試成績評測
成績>=90 :優秀
成績
int score = 70; } else if (score >= 60 ) {
System.out.println("中");} else {
System.out.println("差");另一個if語句If(條件1){ if(條件2){ if(條件3){}else{
}
}…......}
通常情況下,這幾個判斷語句的語句區塊都有{}括號包裹,但如果語句只有一句,可以不使用花括號,例如boolean b = true;if(b) System.out.println( "可以不使用花括號");else
System.out.println("建議打上花括號");
如果判斷語句中只有一個語句,是可以不使用花語句的,但是建議大家依然括號使用花括號。
switch語句
break; }
和if語句不同的是,switch語句的表達式中可以傳的是byte、short、int、long、String類型的值。
String s = "及格了";switch(s){
case "及格了":
System.out.println("表現不錯"); System.out. println("打掃廁所");
default:
System.out.println("沒來考試嗎?把家長叫來考試");🎀㟎㜀㜀㜀<);int i = 1;switch(i){
case 1:
System.out.println("獲得第一名");
breakase;第二名" );
break; case 3:
System.out.println("獲得第三名");
》 breakbreak;三");
break;
}
使用時注意break語句,如果漏掉的話,嘿嘿!
switch和多重if的比較
相同點:
都可以實現多分支結構
不同點:
switch:只能處理等值的條件判斷,且字符條件是整型變量或字符變量的等值值判斷
多重if:處理在else部分還包含其它if結構,特別適合某個變數處於某個區間時的情況
循環結構
循環語句也稱作迭代語句,循環語句可以在滿足條件的情況下重複執行某段程式碼,循環語句包括:
while循環
while ( 循環條件) { //符合條件,循環繼續執行;否則,循環退出
循環操作 //循環中重複執行的操作}
特徵:先判斷,再執行
例句:印出30個Hello
"Hello");
i++;}
do-while循環
do {
循環操作 //否則先執行循環操作} while ( 循環條件); 循環退出
//不管有沒有及格,先打掃一遍廁所,再看他到底有沒有及格。 int i = 65;do{ System.out.println("倒霉,要打掃廁所");
} while(i 死循環問題:所有的循環控制語句,如果沒有一個退出的條件,將會進入到一個死循環狀態,上面一個例子,如果i小於60,將會一直在“打掃廁所”,無法繼續往下執行。
for迴圈
循環運算;
}
特徵:先初始化參數,在判斷變量,再回到條件判斷,不成立則直接退出循環。
for (int i = 0 ; i System.out.println("我最棒");時候,我們需要在某種條件出現時強行終止循環,便可以使用break來完成這個功能。例如:
for(int i = 1; i }
上面一個例子,本該完成10圈,但是到地8圈的時候堅持不下了,break了,後面剩下的便不會再執行。
continue語句