JAVA-基礎-控制結構

1、控制結構
    控制結構是控制程序如何運行的特殊的語句結構。
    控制結構分爲 順序控制結構 分支控制結構 循環控制結構。

2、順序控制結構
    除了分支控制結構 和 循環控制結構以外的語句都是按照順序控制結構運行的。即,語句由上到下,由左到右依次執行。

3、分支控制結構
    1.if判斷
      i. if語句
        if能夠實現判斷,經過判斷的結構決定是否執行某段代碼。
      基本結構:java

                        

      執行邏輯圖:spa

    

    ii. if..else..語句3d

    基本結構:code

      

    執行邏輯圖:blog

      

    

    iii. if..else if..else語句開發

    基本結構:it

      

    執行邏輯圖:for循環

      

    2. switch..case..語句
      i. switch..case..
        根據輸入項的值的不一樣,走不一樣分支代碼。
        輸入項的值只能是byte/short/char/int,jdk7以後,支持String。
      基本結構:class

          

      執行邏輯圖:import

    

        case用來實現匹配,case是進入的位置,一旦匹配成功,則從當前case位置進入,執行以後的代碼,以後的全部case和default也會被執行。
        switch中也能夠帶一個default,則前面全部的case若是都匹配不成功,由default進行匹配。
        若是不想以後的case和default執行,須要經過break跳出switch。

4、循環控制結構
    1. while循環
      i. while
      語法結構:

     1 while(判斷條件){ 2 執行的內容 3 改變條件的語句 4 } 

      循環的三要素:判斷的條件 執行的內容 改變條件語句
      執行邏輯圖:

    

      2.  do...while  & while...do

        語法結構:

           

        執行邏輯圖:

           

        

          

while 和 do..while的區別,在於while先判斷後執行,while中的代碼不必定可以執行到,但do..while是先執行後判斷,不管如何,do中代碼至少會執行一遍。do..while是能夠用while替代的,但while不必定能被do..while替代.

      2.for循環

        i.for

          判斷條件  執行的代碼  改變條件的語句

          基本的語法結構:

            

          執行邏輯圖:

            

          for循環相對於while循環,將循環要素提取到for的小括號中管理,使循環的代碼結構更加清晰,便於開發維護。

          while和for本質上等價的,但for結構更加清晰,一般代碼也更少,是開發中最經常使用的循環方式。

          for中的三個條件並不須要都存在,能夠根據須要空置。
          for(;;){} //等價於死循環

 

      3.break continue
        i. continue
          繼續當前循環
          一旦循環中遇到continue,則本次循環continue以後的代碼再也不執行,回到循環開始位置繼續下一次循環。
        ii. break
          跳出當前循環
          一旦循環中遇到break,則從break位置開始跳出整個循環語句,以後的循環再也不執行。

 

        iii. break tag
          在多層循環時,能夠經過break tag 方式,指定在break時要跳出的是哪一層循環。
          這種寫法會形成程序的可閱讀性大幅度下降,不推薦使用。
          若是想要跳出多層許願,須要一層一層break跳出。

案例:

  

 1 import java.util.Scanner;  2 /**  3  continue break  4 */  5 public class Demo05{  6 public static void main(String args[]){  7 //1.計算1-100的偶數和  8 /*  9  int sum = 0; 10  for(int i=1;i<=100;i++){ 11  if(i%2==0){ 12  sum+=i; 13  }else{ 14  continue; 15  } 16  System.out.println("當前的sum爲"+sum); 17  } 18 */ 19 20 //2.計算1-100的偶數和,若是和大於了500,則再也不繼續循環 21 /* 22  int sum = 0; 23  for(int i=1;i<=100;i++){ 24  if(i % 2 == 0){ 25  sum += i; 26  }else{ 27  continue; 28  } 29  if(sum > 500){ 30  break; 31  } 32  System.out.println(sum); 33  } 34 */ 35 36 //3.break tag語法 37 /* 38  int x = 1; 39  tag1:for(;x>0;){ 40  System.out.println("外層循環開始。。"); 41  for(int i = 0;i<10;i++){ 42  System.out.println(i); 43  if(i == 5){ 44  break tag1; 45  } 46  } 47  System.out.println("外層循環結束。。"); 48  } 49  System.out.println("最外層.."); 50 */ 51 52 //4.break tag的替代寫法 53 boolean outBreak = false; 54 for(;;){ 55 System.out.println("外層循環開始。。"); 56 for(int i = 0;i<10;i++){ 57  System.out.println(i); 58 if(i == 5){ 59 outBreak = true; 60 break; 61  } 62  } 63 if(outBreak){ 64 break; 65  } 66 System.out.println("外層循環結束。。"); 67  } 68 System.out.println("最外層.."); 69  } 70 }
相關文章
相關標籤/搜索