Java之路(三) 控制執行流程

來源:互聯網
上載者:User

標籤:訪問   類型   and   允許   i++   關鍵詞   方法   逗號操作符   機制   

  Java的控制語句設計的關鍵字有if-else while do-while for return break和switch。

  Java雖然保留goto關鍵字,但不支援goto語句。

 

1.true和false

  所有條件陳述式都利用條件運算式的真或假來決定執行路徑。

  Java不允許使用數字作為布爾值使用。

  如果想在布爾測試中使用一個非布爾值,如if(a),那麼首先必須使用一個條件運算式將其轉換成布爾值,如if(a!=0)。

2.if-else語句

  else是可選的。

  格式:

if(Boolean-expression)      statement或if(Boolean-expression) //Boolean-expression為真,執行statement1,否則執行statement2    statement1                 else    statement2//當然也可以嵌套if(Boolean-expression1)  statement1else if(Boolean-expression2)  statement2else  statement3

  注意,上面的Boolean-expression必須產生一個布爾結果。

3.迭代

1)while

while(Boolean-expression) //Boolean-expression為真,執行statement    statement

2)do-while

do    statementwhile(Boolean-expression) //Boolean-expression為真,執行statement

  與while唯一區別在於do-while中的語句至少會執行一次。

3)for

for(initialization; Boolean-expression; step)    statement

  for語句中,先執行initialization語句,然後判斷Boolean-expression結果是否為true,為真則執行statement,接下來會執行step,再次對Boolean-expression結果進行判斷,如此迴圈,直到Boolean-expression結果為false。

  for中的initialization和step可以是逗號運算式,這也是Java唯一用到逗號操作符的地方。此外,在initialization部分可以對多個同類型的變數進行定義。

4.foreach文法

  foreach可以讓我們在不必建立int變數來對訪問項構成的序列進行計數,它可以自動產生這一項。如下例:

import java.util.*public class ForEachFloat{  public static void main(String[] args){        Random rand = new Random(47);        float f[] = new float[10];        for(int i = 0; i < 10; i++)           f[i] = rand.nextFloat();        for(float x:f)           System.out.println(x);              }  }

  結果如下,for(float x:f)定義了一個float類型的變數x,並將數組f的每個元素一次賦給x。

  任何返回一個數組的方法都可以使用foreach。

5.return

return關鍵詞有兩個作用:

  a.指定一個方法返回什麼值;

  b.導致當前方法退出,並返回那個值。

6.break和continue

  break:強制退出迴圈,不執行迴圈中剩餘的語句。

  continue:停止執行當前的迭代,然後退回迴圈其實處,開始下一次迴圈。

7.類似goto

  Java沒有goto,但具有類似goto的功能,因為都使用“標籤”機制。

  標籤格式為 label:

  Java中,標籤起作用的唯一地方剛好是迭代語句之前。而在迭代之前設定標籤的唯一理由是我們希望在其中嵌套另一個迭代或一個開關。

  break和continue關鍵詞通常只中斷當前迴圈,但和標籤一起使用,會中斷迴圈,跳轉到標籤所在位置。

我們舉例說明break-label和continue-label的區別,為了說明問題,我故意寫了一個死迴圈。如下:

  程式的輸出說明帶標籤的continue會跳轉到標籤的位置,並重新進入緊接著標籤後的迴圈。

  從輸出的i值也可以看出,i會再次從0開始,說明重新進入了for迴圈。

是break-label的表現:

  程式的輸出說明帶標籤的break會中斷並跳出標籤所指的迴圈。

8.switch

  根據整數運算式的值,switch語句可以從一系列代碼中選出一段去執行,屬於多路選擇。

格式:

switch(integral-selector){    case integral-vallue1: statement; break;    case integral-vallue2: statement; break;    case integral-vallue3: statement; break;    //...    default:statement;}

  switch會執行case後的integral-value與integral-selector相等的statement。

  default在所有integral-value與integral-selector都不等的情況下執行。

  integral-selector必須為int或char類型類似的整數值,如果為字串或者浮點數則switch不工作。

Java之路(三) 控制執行流程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.