首頁  >  文章  >  Java  >  java中的流程控制語句範例詳解

java中的流程控制語句範例詳解

怪我咯
怪我咯原創
2017-06-25 10:10:591302瀏覽

程式的結構分類:
  順序結構:按照寫程式碼的順序一次執行
  選擇結構:根據條件的不同有選擇的執行不同的程式碼
  循環結構:在一定條件下反覆執行某一片程式碼

選擇結構:

  也叫分支結構根據條件的不同,有選擇的執行某一片程式碼,Java提供了兩種  if結構   switch結構 

 if分為三種格式:

if的第一種格式

   if (條件){
      語句區塊
   }

執行流程:
  判斷條件, 若為真語句否則區塊執行,  語句區塊不執行

程式碼示範:

 1 public static void main(String[] args) { 2         System.out.println("开始"); 3         // 定义两个变量 4         int a = 10; 5         int b = 20; 6  7         if (a == b) { 8             System.out.println("a等于b"); 9         }10 11         int c = 10;12         if (a == c) {13             System.out.println("a等于c");14         }15 16         System.out.println("结束");17     }

if的第二種格式:

if(條件){

#語句區塊1

}else{

  語句區塊2

}

執行流程:
先判斷條件的真假, 若為真則只執行語句區塊1, 否則, 只執行語句區塊2
程式碼示範:

 1 public static void main(String[] args) { 2         System.out.println("开始"); 3         // 判断给定的数据是奇数还是偶数 4         // 定义变量 5         int a = 100; 6         // 给a重新赋值 7         a = 99; 8  9         if (a % 2 == 0) {10             System.out.println("a是偶数");11         } else {12             System.out.println("a是奇数");13         }14 15         System.out.println("结束");16     }

if語句的第三種格式:

if(條件1){

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

    語句區塊2
 }else if##     語句區塊2
 }else if (條件3){
    語句塊3
 }
 ...
 else if(條件n){

    語句塊n
 }else{

    語句區塊n+1

 }

執行流程:

  先判斷條件1 ,若為真則執行語句區塊1,執行完畢,跳出整個if結構執行if下面的語句, 否則判斷條件2,
  若條件2為真,則執行語句區塊2,執行完畢跳出
  整個if結構執行if下面的語句, 如果條件2也為假,則判斷條件3 ,如果為真... 如果判斷到條件n都為假,
  則執行else中的語句塊n+1代碼演示:

  x和y的關係滿足如下:
x>=3 y = 2x + 1;
-1<=x<3 y = 2x;
x<=-1 y = 2x – 1;

根據給定的x的值,計算出y的值並輸出。
 1 public static void main(String[] args) { 2  3         int x = 5; 4         int y; 5         if (x >= 3) { 6             y = 2 * x + 1; 7         } else if (x >= -1 && x < 3) { 8             y = 2 * x; 9         } else  {10             y = 2 * x - 1;11         }12 13         System.out.println("y的值是:"+y);14     }</p>
<p><strong></strong>選擇結構switch</p>
<p><br>語法結構<br><br> switch(表達式){<br> case 目標值1: <br>     語句區塊1<br>     break;<br> case 目標值2:<br>     語句塊2<br>   句#  breakbreak<br> 語句塊2<br>      break;<br> ...<br> case 目標值n:<br>     語句塊n+1<br>     break;<br> default:<br>     句區塊n+1 default:<br>     句區塊n+1>#1]##; }</p>
<p></p>執行流程:<p> <strong> 先計算表達式的結果A ,使用A順次的與對應的目標值進行比較,一旦發現有相等的目標值, 就停止比較, </strong> 執行對應的語句區塊, 再執行break跳出整個switch結構, 如果從上往下比較都沒有目標值與A相等則執行<br> 語句區塊n+1 結束switch <br><br><br>#要求:<br> <strong> 表達式:  表達式的結果,在JDK1.1~1.4時代表達式的結果的資料型別 只能是char byte short int </strong> 在JDK1.5~1.6時代表達式的結果的資料型別 只能是char byte short int  enum(枚舉) <br> 在JDK1.7+時代表達式的結果的資料型別 只能是char byte short int  enum(枚舉) ,String(字串)<br><br><br>目標值:<br> <strong> 目標值的資料型別與表達式結果的資料型別要符合</strong> 目標值不能重複<br><br>程式碼演示:<br><strong> 根據鍵盤輸入的數值1、2、3...7輸出對應的星期一、星期二、星期三...星期日</strong><br></p>
<pre class="brush:php;toolbar:false"> 1 public static void main(String[] args) { 2         //创建键盘录入对象 3         Scanner sc = new Scanner(System.in); 4          5         //接收数据 6         System.out.println("请输入一个数字(1-7):"); 7         int weekday = sc.nextInt(); 8          9         //switch语句实现选择10         switch(weekday) {11         case 1:12             System.out.println("星期一");13             break;14         case 2:15             System.out.println("星期二");16             break;17         case 3:18             System.out.println("星期三");19             break;20         case 4:21             System.out.println("星期四");22             break;23         case 5:24             System.out.println("星期五");25             break;26         case 6:27             System.out.println("星期六");28             break;29         case 7:30             System.out.println("星期日");31             break;32         default:33             System.out.println("你输入的数字有误");34             break;35         }    
36     }
#循環結構:

同一件事重複做, 重複執行同一片程式碼

迴圈的構成:

  初始化語句
  循環出口(條件)
  循環體
  循環增量

有三種循環結構:
for 循環  while 循環  do...while循環

for循環:
語法格式: for (初始化語句;條件;步進表達式){

  循環體
}


執行流程:
第一步: 初始化語句 第二步: 判斷條件, 若條件為真則進入第三步驟,條件為假則進入第五步驟
第三步: 執行迴圈體
第四步: 執行步進表達式進入第二步
第五步: 結束循環

程式碼示範:

統計「水仙數」共有多少個所謂的水仙數是指一個三位數,其各位數字的立方和等於該數本身。

 1 public static void main(String[] args) { 2         //1.定义一个统计变量,初始值为0 3         int count = 0; 4          5         //2.使用for循环获取所有的三位数 6         for(int x=100; x<1000; x++) { 7             //3.拆分三位数的百位,十位,个位 8             int ge = x%10; 9             int shi = x/10%10;10             int bai = x/10/10%10;11             12             //4.利用公式判断这个三位数是否为水仙花数,如果是,统计变量++13             if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {14                 count++;15             }16         }17         18         //5.循环结束之后,打印统计结果19         System.out.println("水仙花数共有:"+count+"个");20     }

while 循環:

語法結構:

  初始化語句
  while(條件){
    循環體
    步進語句
 }

 執行流程:
 第一步: 初始化語句
 第二步驟: 判斷條件, 若條件為真, 則進入第三步驟,如果條件為假, 則進入第五步驟
 第三步: 執行迴圈體
 第四步驟: 執行步進語句, 再進入第二步驟
 第五步: 結束迴圈

##do ... while循環語法格式:  

初始化語句
do{
  循環體
  步進語句

}while(條件)
















## 執行流程:

第一步: 初始化語句 第二步: 執行循環體 第三步: 執行步進語句
第四步: 判斷條件,如果條件為真,進入第二步, 否則進入第五步
   第五步: 結束循環
#三種循環的區別:

雖然可以完成同樣的功能,但是還是有小區別:do…while迴圈至少會執行一次迴圈體。 for迴圈和while迴圈只有在條件成立的時候才會去執行迴圈體
for迴圈語句和while迴圈語句的小區別:

使用區別:控制條件語句所控制的那個變量,在for迴圈結束後,

就不能再被訪問到了,而while迴圈結束還可以繼續使用,如果你想繼續使用,

就用while,否則推薦使用for。原因是for迴圈結束,變數就從記憶體中消失,###能夠提高記憶體的使用效率。 ###迴圈使用推薦for -- while -- do..while#########跳轉語句可以控制迴圈的執行:###### 有兩種######break :### 在迴圈中使用的時候表示結束目前迴圈 ###   在switch語句中使用表示跳出目前的switch結構#########  continue:### 在循環中使用, 表示結束本次循環進行下一次循環###  跳轉語句脫離循環沒有意義###### 此篇就到這裡了本人將持續總結 從Java基礎開始一直到整個javaWeb開發所需的所有技術都會進行總結,有興趣的園友們可以持續關註一起學習!!!####

以上是java中的流程控制語句範例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn