C#語句可以是以分號為結尾的單行語句,也可以是被括入語句塊的多行語句。這里說的語句塊,既包含在括號{ }中的語句結構,一個語句塊中可以嵌入其他語句塊。
C#語句中包含很多類型,如前面所學習的聲明語句、表達式語句,還有條件語句(分支語句)、跳轉語句、循環語句(迭代語句)、異常處理語句等,C#中的流程語句主要分:分支語句、迭代語句、跳轉語句三類。下面來學習分支語句。分支語句的功能是根據一個或者多個指定條件來執行不同的代碼塊,C#中的分支語句括if語句、switch語句和三元運算符。
1、if語句
if語句會對條件進行判斷,當指定條件為布爾值true時將執行某一個代碼塊,為false時則執行另外一個代碼塊。if語句經常和else語句、else if語句配合使用。
語法:
if(條件判斷表達式) //“條件判斷表達式”結果為true時則執行下面要執行的語句,否則不執行該語句
{
//要執行的語句
}
代碼示例:
// if語句單獨使用 //老婆給當程序員的老公打電話:“買一斤包子帶回來,如果看到賣西瓜的,買一個。” 當晚,程序員老公手捧一個包子進了家門, 老婆怒道:“你怎么就買了一個包子?!” 老公答曰:“因為看到了賣西瓜的。” bool mybool=false; string result="買一斤包子"; if(!mybool) //看見了賣西瓜的 { result="買一個包子"; } // if else 語句一起使用 int money = 5; if(money >= 100) { Console.WriteLine("吃大餐"); } else { Console.WriteLine("吃泡面"); } // if 與 else if 語句一起使用 int a =100; int b =50; if (a < b) { Console.WriteLine("a < b"); } else if (a == b) //else if 保證只執行其中一條語句; { Console.WriteLine("a == b"); } else //如果前面的if語句一條也沒有執行,那就執行else語句;如果執行了其中一條if語句,那就不會執行else語句; { Console.WriteLine("a > b"); } Console.ReadKey();
if語句特別適合判斷一些連續值,可與else或else if 配合使用。
2、switch語句
香蕉视频appswitch語句與if語句類似,它同樣是根據測試值來有條件地執行代碼。
語法:
switch(表達式)
{
香蕉视频app case 常量表達式1:
香蕉视频app 執行語句;
break;
case 常量表達式2:
執行語句;
香蕉视频app break;
case 常量表達式3:
執行語句;
break;
香蕉视频app ……(更多的case語句)
default:
香蕉视频app 執行語句;
香蕉视频app break;
}
從上面的語法結構可以看出,switch語句可以包含任意數量的case語句,但任何兩個case語句不能右相同的值,每個case語句之后又必須以break;語句作為結束(case語句中沒有代碼的情況除外)。
代碼示例:
//分支語句之switch語句 //例:輸入1顯示星期一,以此類推 Console.Write("請輸入1-7中的數字:"); int week = int.Parse(Console.ReadLine()); switch (week) //switch (表達式) { case 1: Console.WriteLine("星期一"); break; //case 常量表達式:條件語句;break結束; case 2: Console.WriteLine("星期二"); break; case 3: Console.WriteLine("星期三"); break; case 4: Console.WriteLine("星期四"); break; case 5: Console.WriteLine("星期五"); break; case 6: Console.WriteLine("星期六"); break; case 7: Console.WriteLine("星期日"); break; default: Console.WriteLine("您的輸入有誤!"); break; //default:條件語句;break結束; } //例:判斷一年中每個月份的天數 //31天的有:1、3、5、7、8、10、12 //30天的有:4、6、9、11 //2月28或29天 Console.Write("請輸入1-12月來判斷每個月天數:"); int month = int.Parse(Console.ReadLine()); switch (month) { case 2: Console.WriteLine("2月份為28天,閏年為19天");break; case 4: case 6: case 9: case 11: Console.WriteLine("本月份為30天");break; default: Console.WriteLine("本月份為31天");break; } Console.ReadKey();
switch語句特別適合判斷一些離散的值,在使用時候要注意每個case語句之后都必須有break語句,可配合default語句使用
(三)、三元運算符
三元運算符 (?:),三元運算符結構:條件判斷表達式?(問號)成立時執行的語句:(冒號)不成立時執行的語句;(分號)
三元運算符適用的條件:只適用于判斷具有兩個結果的情況香蕉视频app,三元運算符比較適用于簡單的賦值語句,只適用于判斷具有兩個結果的情況,可讀性較差;
代碼示例:
//分支語句之三元運算符 //例:判斷輸入數值與10的關系,<10 提示小于10,<=10 提示或大于等于10; Console.WriteLine("請輸入一個數值判斷與10的關系,<10 提示小于10,<=10 提示或大于等于10:"); int num = int.Parse(Console.ReadLine()); Console.WriteLine(num <10?"您輸入的數值小于10":"您輸入的數值大于或等于10"); Console.ReadKey();
文章評論