程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> VC#2005快速入門之使用if語句

VC#2005快速入門之使用if語句

編輯:C#基礎知識

  如果想根據一個布爾表達式的結果選擇執行兩個不同的代碼塊,就可以使用if語句。

  理解if語句的語法

  if語句的語法格式如下(if和else是關鍵字):

  

if ( booleanExpression )
 statement-1;
else
 statement-2;

  如果booleanExpression求值為true,就運行 statement-1;否則就運行statement-2。else關鍵字和後續的statement-2是可有可無的。如果沒有else子句,那麼在booleanExpression為false的前提下,什麼都不會發生。

  例如,以下if語句用於遞增一個秒表的秒針(暫時忽略分鐘)。如果seconds的值是59,就重置為0;否則就使用操作符++來遞增:

  

int seconds;
...
if (seconds == 59)
seconds = 0;
else
seconds++;
  只使用布爾表達式!
  if語句中的表達式必須放在一對圓括號中。除此之外,表達式必須是布爾表達式。在另一些語言中(尤其是C和C++),還可以使用一個整數表達式,編譯器能自動將整數值轉換成true(非零值)或false(零值)。C#不允許這樣做。如果寫這樣的一個表達式,編譯器會報錯。
  假如在if語句中不慎寫了一個賦值表達式,而不是執行一個相等性測試,C#編譯器也能識別你的錯誤。例如:
int seconds;
...
if (seconds = 59) // 編譯時錯誤
...
if (seconds == 59) // 正確
  不慎而寫成賦值表達式,是C和C++程序容易出現bug的另一個原因。在C和C++中,會將所賦的值(59)悄悄地轉換成一個布爾值(任何非零的值都會被視為true),造成每次都必定執行if語句之後的代碼。
  最後,可以將一個布爾變量作為表達式使用,如下例所示:
bool inWord;
...
if (inWord == true) // 可以,但不常用
...
if (inWord) // 更好

  使用塊來分組語句

  有時,需要在一個布爾表達式為true的前提下運行兩個或者更多的語句。可以將要運行的語句分組到一個新方法中,然後調用那個方法。但是,一個更簡單的做法是將語句分組到一個塊(block)中。塊是指用一對大括號來封閉的一系列語句。在下例中,兩個語句將seconds變量重置為零,並使minutes變量遞增。我們用一個塊來分組這兩個語句。假如seconds的值等於59,就執行該塊:

  

int seconds = 0;
int minutes = 0;
...
if (seconds == 59)
{
seconds = 0;
minutes++;
}
else
seconds++;

  重要提示 假如遺漏大括號,將造成兩個嚴重後果。首先,C#編譯器只將第一個語句(seconds=0)與if語句關聯起來,下一個語句(minutes++)將不再成為if語句的一部分。其次,當編譯器遇到else關鍵字時,不會將它與前一個if語句關聯起來,所以會報告語法錯誤。

  嵌套if語句

  可以在一個if語句中嵌套其他if語句。這樣一來,就可以將一系列布爾表達式鏈接起來,它們將依次測試,直到其中一個求值為true。在下例中,假如day值為0,則第一個測試求值為true,值"Sunday"將賦給dayName變量。假如day值不為0,則第一個測試失敗,控制將傳遞給else子句。該子句將運行第二個if語句,將day的值與1進行比較。注意,只有在第一個if測試為false的前提下,才會執行第二個if。類似地,只有在第一個和第二個if測試為false的前提下,才會執行第三個if。

  

if (day == 0)
dayName = "Sunday";
else if (day == 1)
dayName = "Monday";
else if (day == 2)
dayName = "Tuesday";
else if (day == 3)
dayName = "Wednesday";
else if (day == 4)
dayName = "Thursday";
else if (day == 5)
dayName = "Friday";
else if (day == 6)
dayName = "Saturday";
else
dayName = "unknown";

  在下面的練習中,我們將寫一個方法,以便使用嵌套的if語句來比較兩個日期。

  一、編寫if語句

  1. 啟動Microsoft Visual Studio 2005。

  2. 打開Selection項目,它位於My Documents文件夾下的\Microsoft Press\Visual CSharp Step by Step\Chapter 4\Selection子文件夾中。

  3. 選擇“調試”|“開始執行(不調試)”。

  Visual Studio 2005將生成並運行應用程序。窗體上顯示了兩個DateTimePicker控件,分別名為first和second(這種控件將顯示一個日歷,便於用戶通過單擊下拉按鈕來選擇一個日期)。兩個控件當前都設置成今天的日期。

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