流程控制指的是在程序運行的過程當中控制程序運行走向的方式。主要分爲如下幾種:spa
順序結構,顧名思義,是指程序從上往下逐步順序執行。中間沒有任何的判斷和跳轉。blog
Java提供兩種分支結構:if和switch,其中if語句使用布爾表達式或者是布爾值進行判斷來進行分支的控制,而switch語句則是使用整數,String類型,枚舉類型。it
if語句使用布爾表達式或者是布爾值進行判斷來進行分支的控制,主要有下面三種結構:for循環
if(條件){ //語句 }
執行走向變量
例:循環
int score = 65; if(score >= 60){ System.out.println("您及格了"); }
if ( 條件 ) { //語句1 } else { //語句2 }
程序執行走向程序
例:im
int score = 65; if(score >= 60){ System.out.println("您及格了,恭喜"); } else { System.out.println("沒及格,打掃廁所三個月"); }
if ( 條件 ) { //語句 } else if ( 條件 ) { //語句 } else { //語句 }
程序走向圖db
例:img
對學員的結業考試成績評測
成績>=90 :優秀
成績>=80 :良好
成績>=60 :中等
成績<60 :差
int score = 70; //考試成績 if ( score >= 90 ) { System.out.println("優秀"); } else if (score >= 80 ) { System.out.println("良好"); } else if (score >= 60 ) { System.out.println("中等"); } else { System.out.println("差"); }
If(條件1){ if(條件2){ if(條件3){ }else{ } }…...... }
一般狀況下,這幾種判斷語句的語句塊都有{}括號包裹,但若是語句只有一句,能夠不使用花括號,例如
boolean b = true; if(b) System.out.println("能夠不使用花括號"); else System.out.println("建議打上花括號");
若是判斷語句中只有一個語句,是能夠不使用花括號的,可是建議你們依然使用花括號。
switch (表達式) //計算表達式的值 { case 常量 1: //若是等於常量1 語句; break; case 常量 2: //若是等於常量2 語句; break; default: //若是沒有找到匹配的值 語句 break; }
和if語句不一樣的是,switch語句的表達式中能夠傳的是byte、short、int、long、String類型的值。
String s = "及格了"; switch(s){ case "及格了": System.out.println("表現不錯"); break; case "不及格": System.out.println("打掃廁所"); break; default: System.out.println("沒來考試嗎?把家長叫來"); break; }
int i = 1; switch(i){ case 1: System.out.println("得到第一名"); break; case 2: System.out.println("得到第二名"); break; case 3: System.out.println("得到第三名"); break; default: System.out.println("您不是前三名"); break; }
使用時注意break語句,若是漏掉的話,嘿嘿!
相同點:
均可以實現多分支結構
不一樣點:
switch:只能處理等值的條件判斷,且條件是整型變量或字符變量的等值判斷
多重if:處理在else部分還包含其它if結構,特別適合某個變量處於某個區間時的狀況
循環語句也稱做迭代語句,循環語句能夠在知足條件的狀況下反覆執行某一段代碼,循環語句包括:
while ( 循環條件 ) { //符合條件,循環繼續執行;不然,循環退出 循環操做 //循環中被重複執行的操做 }
特色:先判斷,再執行
例句:打印出30個Hello
int i = 1; while(i <= 30){ System.out.println("Hello"); i++; }
do { 循環操做 //先執行一遍循環操做 } while ( 循環條件 ); //符合條件,循環繼續執行;不然,循環退出
特色:先執行,再判斷
//無論有沒有及格,先打掃一遍廁所,再看他到底有沒有及格。 int i = 65; do{ System.out.println("倒黴,要打掃廁所"); } while(i < 60)
死循環問題:全部的循環控制語句,若是沒有一個退出的條件,將會進入到一個死循環狀態,上面一個例子,若是i小於60,將會一直在「打掃廁所」,沒法繼續往下執行。
for(參數初始化; 條件判斷; 更新循環變量){ 循環操做; }
特色:先初始化參數,在判斷條件,若是成立,執行循環體,而後更新循環變量,再回到條件判斷,不成立則直接退出循環。
for (int i = 0 ; i < 100 ; i++) { System.out.println("我最棒"); }
在某些時候,咱們須要在某種條件出現時強行終止循環,即可以使用break來完成這個功能。好比:
for(int i = 1; i <= 10; i++){ if(i == 8){ break; } System.out.println("完成一圈"); }
上面一個例子,本該完成10圈,可是到地8圈的時候堅持不下了,break了,後面剩下的便不會再執行。
continue和break的功能有點相似,區別是continue只是跳過這一次循環,後面的循環依然會執行。例如:
for(int i = 1; i <= 10; i++){ if(i == 8){ continue; } System.out.println("完成一圈"); }
本該跑10圈,而他實際上只跑了9圈。