[Java入門筆記] Java語言基礎(四):流程控制

流程控制指的是在程序運行的過程當中控制程序運行走向的方式。主要分爲如下幾種:spa

順序結構

順序結構,顧名思義,是指程序從上往下逐步順序執行。中間沒有任何的判斷和跳轉。blog

分支結構

Java提供兩種分支結構:if和switch,其中if語句使用布爾表達式或者是布爾值進行判斷來進行分支的控制,而switch語句則是使用整數,String類型,枚舉類型。it

if語句

if語句使用布爾表達式或者是布爾值進行判斷來進行分支的控制,主要有下面三種結構:for循環

if語句

if(條件){
    //語句
}

 

執行走向變量

例:循環

int score = 65;
if(score >= 60){
    System.out.println("您及格了");
}

 

if…else語句

if ( 條件 ) { 
        //語句1  
 } else { 
       //語句2 
}

 程序執行走向程序

例:im

int score = 65;
if(score >= 60){
    System.out.println("您及格了,恭喜");
} else {
    System.out.println("沒及格,打掃廁所三個月");
}

 

if…else if語句

複製代碼

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語句中包含了另一個if語句

複製代碼

If(條件1){
 if(條件2){
   if(條件3){
  
   }else{
   }
  }…......
}

複製代碼

 

 

一般狀況下,這幾種判斷語句的語句塊都有{}括號包裹,但若是語句只有一句,能夠不使用花括號,例如

boolean b = true;
if(b)
    System.out.println("能夠不使用花括號");
else
    System.out.println("建議打上花括號");

 

若是判斷語句中只有一個語句,是能夠不使用花括號的,可是建議你們依然使用花括號。

switch語句

複製代碼

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的比較

相同點:

  均可以實現多分支結構

不一樣點:

  switch:只能處理等值的條件判斷,且條件是整型變量或字符變量的等值判斷

  多重if:處理在else部分還包含其它if結構,特別適合某個變量處於某個區間時的狀況

 

循環結構

循環語句也稱做迭代語句,循環語句能夠在知足條件的狀況下反覆執行某一段代碼,循環語句包括:

while循環

while ( 循環條件 ) {  //符合條件,循環繼續執行;不然,循環退出
       循環操做  //循環中被重複執行的操做
}

 

特色:先判斷,再執行

例句:打印出30個Hello

int i = 1;
while(i <= 30){
    System.out.println("Hello");
    i++;
}

 do-while循環

do {
    循環操做  //先執行一遍循環操做
} while ( 循環條件 );  //符合條件,循環繼續執行;不然,循環退出

特色:先執行,再判斷

//無論有沒有及格,先打掃一遍廁所,再看他到底有沒有及格。
int i = 65;
do{
    System.out.println("倒黴,要打掃廁所");
} while(i < 60)

 死循環問題:全部的循環控制語句,若是沒有一個退出的條件,將會進入到一個死循環狀態,上面一個例子,若是i小於60,將會一直在「打掃廁所」,沒法繼續往下執行。

for循環

for(參數初始化; 條件判斷; 更新循環變量){
    循環操做;
}

 

特色:先初始化參數,在判斷條件,若是成立,執行循環體,而後更新循環變量,再回到條件判斷,不成立則直接退出循環。

for (int i = 0 ;  i  < 100 ;  i++) {
  System.out.println("我最棒");
}    

控制循環結構

break語句

在某些時候,咱們須要在某種條件出現時強行終止循環,即可以使用break來完成這個功能。好比:

for(int i = 1; i <= 10; i++){
    if(i == 8){
        break;
    }
    System.out.println("完成一圈");
}

 

上面一個例子,本該完成10圈,可是到地8圈的時候堅持不下了,break了,後面剩下的便不會再執行。

continue語句

continue和break的功能有點相似,區別是continue只是跳過這一次循環,後面的循環依然會執行。例如:

for(int i = 1; i <= 10; i++){
    if(i == 8){
        continue;
    }
    System.out.println("完成一圈");
}

 本該跑10圈,而他實際上只跑了9圈。

相關文章
相關標籤/搜索