程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 控制程序的流程

控制程序的流程

編輯:JAVA編程入門知識

  Jscript 腳本中的語句一般是按照寫的順序來運行的。這種運行稱為順序運行,是程序流的默認方向。

  與順序運行不同,另一種運行將程序流轉換到腳本的另外的部分。也就是,不按順序運行下一條語句,而是運行另外的語句。

  要使腳本可用,該控制的轉換必須以邏輯方式執行。程序控制的轉換是基於一個“決定”,這個“決定”結果是真或假(返回  Boolean 型 true false)。 創建一個表達式,然後測試其是否為真。主要有兩種程序結構實現本功能。

  第一種是選擇結構。用來指明兩種程序流方向,在程序中創建一個交叉點(像岔路)。在 Jscript 中有四種選擇結構可用。

  • 單一選擇結構(if),
  • 二路選擇結構(if/else),
  • 內聯三元運算符 ?:
  • 多路選擇結構(switch)。

  第二種類型的程序控制結構是循環結構。使用循環結構來指明當某些條件保持為真時要重復的動作。當控制語句的條件得到滿足時(通常在某些迭代的特定數字後),控制跳過循環結構傳遞到下條語句。在 Jscript 中有四種循環結構可用。

  • 在循環的開頭測試表達式(while),
  • 在循環的末尾測試表達式(do/while),
  • 對對象的每個屬性都進行操作(for/in),
  • 由計數器控制的循環(for)。

  通過嵌套和堆棧選擇、循環控制結構,可以創建相當復雜的腳本。

  第三種形式的結構程序流由意外處理給出,本文檔不作討論。

使用條件語句

  JScript 支持 ifif...else 條件語句。在 if 語句中將測試一個條件,假如該條件滿足測試,執行相關的 JScript 編碼。在 if...else 語句中,假如條件不滿足測試,則將執行不同的代碼。最簡單的 if 語句格式可以在一行中寫完,不過更常見的是多行的 ifif...else 語句。

  下述示例演示了使用 ifif...else 語句的各種可能的語法。第一個示例演示了最簡單的布爾測試。當(且僅當)括號之間的項的值為(或者可被強制轉換為) true 時,if 後續的語句或語句塊才會被執行。

// smash() 函數是在該代碼的其他地方定義的。
// 布爾測試,看 newShip 是否為 trueif (newShip)
   smash(champagneBottle,bow); 

// 在本示例中,除非兩個條件都為真,否則該測試將不會被滿足。
if (rind.color == "deep yellow " && rind.texture == "large and small wrinkles")
{
   theResponse = ("Is it a Crenshaw melon?");
}

// 在本示例中,只要任何一個條件為真,則測試即會滿足。
var theReaction = "";
if ((dayOfWeek == "Saturday")  (dayOfWeek == "Sunday"))
{
   theReaction = ("I'm off to the beach!");
}
else
{
   theReaction = ("Hi ho, hi ho, it's off to work I go!");
}

條件運算符

  JScript 也支持隱式的條件格式。該格式在要測試的條件後使用一個問號(而不是在條件前的 if )。它也指定兩個可選項,一個在滿足條件時使用,另一個在條件不滿足時使用。這兩個選擇項之間必須用一個冒號隔開。

var hours = "";

// 下面的代碼指定 hours 是包含 theHour 的內容,
// 還是包含 theHour - 12 的內容。

hours += (theHour >= 12) ? " PM" : " AM";

  假如要一起測試多個條件,並且知道某個條件比其他條件更可能滿足或不滿足測試,可以使用稱為“短路計算”的特性來加速腳本的運行速度。當 JScript 計算邏輯表達式時,只計算要得到結果所需的子表達式。

  例如,假如有一個“與”表達式,如 ((x == 123) && (y == 42)),Jscript 首先檢查 x 是否為 123。假如不是,即使 y 等於 42,整個表達式的值也不可能為 true。因此,並不對 y 作測試,Jscript 返回 false 值。

  類似地,假如多個條件中只要有一個為真(使用 運算符),則當任何一個條件滿足該測試時測試則停止。假如要測試的條件包括函數調用或其他復合表達式,這種處理方式就有效。出於此種想法,寫 OR 表達式時,先寫最有可能為 true 的條件。寫 AND 表達式時,先寫最有可能為 false 的條件。

  以這種方式設計腳本的好處的一個示例是:在下例中假如 runfirst() 返回 0 或 false, 則不會運行 runsecond()

if ((runfirst() == 0)  (runsecond() == 0)) {
    // 若干代碼。
}

使用循環

  
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved