c# 程式設計學習(四)
邏輯AND(邏輯與)運算子(用&&表示)和邏輯OR(邏輯或) 運算子(用||表示)。這兩個運算子統稱條件邏輯運算子。
只有作為運算元的兩個布林表示式都為 true。
運算子&&和||都支援短路求值
例如,假定運算子&& 的左運算元求值為 false,整個表示式的結果肯定是 false,無論右運算元的值是什麼
if 語句的語法如下所示(if 和 else 是 C#關鍵字):
if ( booleanExpression ) statement-1; else statement-2;
如果booleanExpression(布林表示式)求值為true,就執行 statement 1;否則執行statement 2。
else 關鍵字和後續的 statement 2 是可選的。
如果沒有 else 子句,而且 booleanExpression 為 false,那麼什麼事情都不會發生,程式繼續執行 if 語句之後的程式碼。
注意布林表示式必須放在圓括號中,否則無法編譯
表示式必須是布林表示式。在 另一些語言中(尤其是 C 和 C++),還可以使用整數表示式,編譯器自動將整數值轉換成 true(非 0 值)或 false(0)。C#不允許這樣做,看到這樣的表示式會報告編譯錯誤。
switch 語句語法如下(switch,case 和 default 是 C#關鍵字):
switch ( controllingExpression ) { case constantExpression : statements break; case constantExpression : statements break; ... default : statements break; }
controllingExpression(控制表示式)只求值一次,而且必須包含在圓括號中。然後逐個檢查
constantExpression(常量表示式), 找到和 controllingExpression 值相等的, 就執行由它標識的程式碼塊(constantExpression 稱為 case 標籤)。進入程式碼塊後,將一直執行到 break;語句。 遇到 break;後,switch 語句結束,程式從 switch 語句結束大括號之後的第一個語句繼續執 行。沒有找到任何匹配的 case 標籤,就執行由可選的 default 標籤所標識的程式碼塊。
注意 每個 constantExpression 值都必須唯一,使 controllingExpression 只能與它們當中 的一個匹配。如果 controllingExpression 的值和任何 constantExpression 的值都不匹配,也沒有 default 標籤,程式就從 switch 的結束大括號之後的第一個語句繼 續執行。
switch 語句很有用,但使用須謹慎。switch 語句要嚴格遵循以下規則:
switch 語句的控制表示式只能是某個整型(int,char,long 等)或 string。其他任何 型別(包括 floatfloat 和 double 型別)只能用 if 語句。
case 標籤必須是常量表示式,如 42(控制表示式是 int),'4'(控制表示式是 char)或 "42"(控制表示式是 string)。要在執行時計算 case 標籤的值,必須使用 if 語句。
case 標籤必須唯一,不允許兩個 case 標籤具有相同的值。
可以連續寫多個 case 標籤(中間不間插額外的語句),指定在多種情況下都執行相 同的語句。如果像這樣寫,最後一個 case 標籤之後的程式碼將適用於所有 case。但 假如兩個標籤之間有額外的程式碼,又沒有使用 break 跳出,就不能從第一個標籤 貫穿(也稱直通)到第二個標籤,編譯器會報錯。
例如:
switch (trumps) { case Hearts : case Diamonds : // 允許直通——標籤之間無額外程式碼 color = "Red"; // Hearts和Diamonds兩種情況都執行相同的程式碼 break; case Clubs : color = "Black"; case Spades : // 出錯——標籤之間有額外程式碼,又沒有用break跳出 color = "Black"; break; }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2643374/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#程式設計學習(一)C#程式設計
- c# 程式設計學習(二)C#程式設計
- C#程式設計學習(04):基本操作學習總結C#程式設計
- 四. 文字程式設計--Windows程式設計課程學習筆記程式設計Windows筆記
- 《Windows 程式設計》學習筆記(四) (轉)Windows程式設計筆記
- 精通C#學習筆記---C#核心程式設計結構C#筆記程式設計
- C#程式設計好習慣C#程式設計
- 程式設計學習MarkDown學習程式設計
- 併發程式設計基礎底層原理學習(四)程式設計
- 學習C#高階程式設計之正規表示式C#程式設計
- C#可擴充套件程式設計之MEF學習筆記(四):見證奇蹟的時刻C#套件程式設計筆記
- C#設計模式學習筆記:設計原則C#設計模式筆記
- C#本質論學習 ☞ 四C#
- 程式設計如何學習程式設計
- 請學習程式設計程式設計
- 好好學習程式設計程式設計
- Shell程式設計基礎學習之四:語法結構程式設計
- 結對程式設計——小學四則運算練習題小程式程式設計
- C#學習筆記(六)——物件導向程式設計簡介C#筆記物件程式設計
- 設計模式快速學習(四)建造者模式設計模式
- Java程式設計師學習Rust程式設計 - infoworldJava程式設計師Rust
- 《計算機基礎與程式設計》第四周學習總結計算機程式設計
- JUC併發程式設計學習筆記(四)8鎖現象程式設計筆記
- 學習程式設計 vs 學習電腦科學程式設計
- Rust 程式設計,Option 學習Rust程式設計
- Python 程式設計學習Python程式設計
- iOS程式設計學習十三iOS程式設計
- 學習程式設計先學什麼程式設計
- c#程式設計C#程式設計
- 一個 JSer 的 Dart 學習日誌(四):非同步程式設計JSDart非同步程式設計
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- 把學習遊戲化-----遊戲化程式設計學習遊戲程式設計
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- C#設計模式之代理模式(四)C#設計模式
- 學習記錄|Socket程式設計程式設計
- 學習Rust 併發程式設計Rust程式設計
- 學習Promise非同步程式設計Promise非同步程式設計
- python 學習-- TCP程式設計PythonTCP程式設計