3.分支結構與循環結構


1 程序結構

  程序結構分為順序結構、分支結構、循環結構。分支結構有:if結構,if....else結構if...else if....else ,if...else結構,switch結構;循環結構有:while循環,do....while循環,for循環。

 

2 分支結構

  ①if結構  語法:

  if(布爾表達式){

     //語句;

  }

  執行過程:如果布爾表達式為true執行其下語句,布爾表達式為false時不執行其下語句。

  {}可以省略,如果省略將執行第一個語句塊。為了程序的可讀性推薦不要省略{}

  ②if...else結構 語法:

  if(布爾表達式){

      //語句1

  }else{

     //語句2;

  } 

  執行過程:如果布爾表達式值為true,執行語句1,否則執行語句2.

  {}也是可以省略的,省略之后只執行第一個語句塊。

示例1:根據用戶輸入的年份,加上一個[0,10]隨機數后,判斷該年是否為閏年。

  分析:

  1.獲取用戶輸入的年份:Scanner

  2.產生一個[0,10]之間的隨機整數:Math.random()-->(0,1)之間的隨機小數

  3.判斷該年是為閏年,閏年的判斷條件:能被4整除並且不能100整除;或者能被400整除。

  public class TestIfElse2{

    public static void main(String[] args){

      Scanner input = new Scanner(System.in);

      System.out.println("請輸入一個年份:");

      int year = input.nextInt();

      //產生[0,10]之間的隨機整數

      int random = (int)(Math.random()*11);

      year = year+random;

      //判斷是否為閏年

      if((year%4==0&&year%100!=0)||year%400==0){

        System.out.println(year+"為閏年,共366天!");

      }else{

      System.out.println(year+"為平年,共365天!");

      }

    }

  }

示例2:(if嵌套)

  if嵌套:一個if語句包含了其他的if語句。

  if(條件1){

    if(條件2){

      //語句;

    }

  }

 

  ③if....else if....else結構 語法:

  if(條件1){

     //語句1;

  }else if(條件2){

     //語句2;

  }else if(條件3){

    //語句3

  }....{

  }else{

    //語句N;

  }

  執行過程:先判斷條件1是否成立,如果條件1成立執行語句1並跳出條件結構;如果條件1不成立繼續判斷其下的條件2,如果條件2成立執行語句2....,所有條件都不成立執行else中語句N.

  注意:條件的位置有可能影響執行結構,條件位置一般需要滿足從范圍小的條件到范圍大的條件逐次擺放。

  ④switch結構

  switch可以代替多重if條件結構中等值判斷。

  語法:

  switch(表達式){

      case 值1:

    語句1;

         [break];

      case 值2:

    語句2;

         [break];

     ....

     default

    語句N;

         [break];

  }

  執行過程:將表達式的值與case中的常量值挨個進行比較,如果匹配成功將執行其下語句,直到遇到break關鍵字跳出switch結構。

  注意:

  1)swtich中傳入的表達式可以是byte,short,int,char,從JDK1.7以后支持String類型

  2)case后的常量值不能重復

  3)case語句中的break是可以省略的,但如果省略break將出現case穿透。

  4)default語句也是可以省略的。

3 循環結構

  如果遇到需要反復做的事情,可以利用循環進行解決。

  ①while循環 語法:

  while(布爾表達式){

     //循環體

  }

  執行過程:

  步驟1:先判斷布爾表達式值是否為true,如果為true進入步驟2

  步驟2:執行while中循環體,執行結束后回到步驟1

  注意:檢查循環是否能退出(檢查循環條件是否不滿足的時候)

  特點:先判斷,后執行,有可能一次都不執行。

 

  ②do...while循環 語法:

  do{

     //循環體;

  }while(布爾表達式);

  執行過程

  步驟1:先執行循環體,進入步驟2

  步驟2:判斷布爾表達式是否為true,如果值為true,執行步驟1,否則退出循環。

  特點:先執行,后判斷。執行會執行1次。

 

  ③for循環 語法:

  for(表達式1;表達式2;表達式3){

      //循環體;

  }

  表達式1:循環變量的初始化,只會執行1次

  表達式2:循環條件

  表達式3:更改循環變量(步進)

  注意:從語法的角度上說表達式1,表達式2,表達式3都可以省略,分號不能省略。但是如果省略了表達式2和表達式3經常會造成死循環。終止執行:ctrl+c

  特點:先判斷,后執行。有可能一次都不執行。

 

  執行過程:

  步驟1:先執行表達式1進行循環變量的初始化工作

  步驟2:執行表達式2進行循環條件的判斷,如果條件為true,執行步驟3,否則退出循環。

  步驟3:執行循環體;

  步驟4:執行表達式3進行更改循環變量,然后執行步驟2。

 

4 break和continue

    ①break關鍵字可以用於switch結構和循環結構

  作用: 1.如果用於switch結構,跳出當前的case語句

      2.如果用於循環結構中,跳出當前循環結構。

 ②continue關鍵字只能用於循環結構。

  作用:跳過本次循環,重新開始下一趟循環。

 

5 return

  可以使用return關鍵字結束當前函數的執行。

  在函數中只要遇到了return關鍵字,終止當前函數(方法),並回調函數(方法)的被調用處。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM