break后面的语句还执行吗_【自学C#】|| 笔记 5 条件语句if、switch
一、條件語句
????也就選擇語句,判斷語句。
????有三種形式。
????1.?單一條件的 if 語句
????表現形式:
????????if(布爾表達式)
????????{
? ? ????????語句塊;
????????}
????例:
int a = 5;if(a>2){ Console.WriteLine("輸出的數為:"+a);}????只有a>2為真是,才會執行后面的語句,否則直接跳過這部分。
????2.多個條件的 if 語句
????也就是多個if語句組合。
????表達形式如下:
?????????if(布爾表達式1)
????????{
? ??????????語句塊;
????????}
?????????if(布爾表達式2)
????????{
? ??????????語句塊;
????????}
????????。。。
?????????if(布爾表達式n)
????????{
? ??????????語句塊;
????????}
? ? ? ? //只要你想用并用得上,就可以多用。
????????//而這與其說是新內容,不如說是多用。
????例:
int a = 5;if(a>2){ Console.WriteLine("輸出的數為:"+2);}if(a>5){ Console.WriteLine("輸出的數為:"+5);}if(a>8){??Console.WriteLine("輸出的數為:"+8);}????????只要調節成立才會執行,所以第一個if會輸出,第二個、第三個就不會輸出。因為條件不成立,但卻還是經過判斷運行了。
????3.二選一條件的 if 語句
????也就是這個條件為假,會執行另一條語句。
????類似三目運算符,a>b?a:b;
????表達形式如下:
????????if(布爾表達式)
????????{
? ? ????????語句塊 1;
????????}else{
? ????????? 語句塊 2;
????????}
????例:
int?a?=?5;if(a>8){ Console.WriteLine("輸出的數為:"+8);}else{ Console.WriteLine("輸出的數為:"+a);}????因為a不大于8,所以會執行第5行,輸出“輸出的數為:5”;
????4.多選一條件的 if 語句
????也就是把多個if語句合并成一個連串的if語句。
????表達形式如下:
????????if(布爾表達式 1)
????????{
????????? ? 語句塊 1;
????????}else if(布爾表達式 2){
????????? ? 語句塊 2;
????????}
????????...
????????else{
? ? ????????語句塊 n;
????????}
????例:
int a = 5;if(a>8){ Console.WriteLine("輸出的數為:"+8);}else if(a>5){??Console.WriteLine("輸出的數為:"+5);}else{ Console.WriteLine("輸出的數為:"+a);}????除了最后選項沒有if外,其余的都需要有if,還得有判斷表達式。
????而且最后的else也是可以省略的,到時只要條件不成立,整個if語句都將被跳過。
二、示例
? ? 1.例:
????????使用 if-else 語句判斷從控制臺輸入的整數是否為偶數。
class Program{ static void Main(string[] args) { Console.WriteLine("請輸入一個整數:"); //將從控制臺輸入的值轉換成int類型 int num = int.Parse(Console.ReadLine()); if (num % 2 == 0) { Console.WriteLine(num+"是偶數!"); } else { Console.WriteLine(num+"不是偶數!"); } }}分析:
????首先第3行的Main,表示程序開始的地方。(就好像夢開始的地方?)
????然后第5行為傳統的輸出,內容就是括號雙引號里面的。
????然后是第7行,表示手動輸入一個數,并賦值給變量num。
????????Console.ReadLine()為鍵盤輸入,就是運行后,會有一個閃爍的光標。
????????int.Parse();為轉換為int類型,畢竟輸入的好像是字符串類型。
????然后就進行判斷該數,除以2求余數是否等于0。
????如果等于0,就執行if里面的語句。
????如果不等于0,就執行else里面的語句。
????2.上述的案例也可以只用if語句來完成。
class Program{ static void Main(string[] args) { Console.WriteLine("請輸入一個整數:"); //將從控制臺輸入的值轉換成int類型 int num = int.Parse(Console.ReadLine()); String msg = num + "不是偶數!"; if (num % 2 == 0) { msg = num + "是偶數!"; } Console.WriteLine(msg); }}????????這里是先確定它“不是偶數”,并賦給一個變量msg中。
????????然后判斷是不是,如果是,再把msg變量給改成“是偶數”。
????3.案例
????????使用多分支 if 語句完成對游戲賬戶積分等級的判斷,判斷的條件是當游戲積分為 0~100 時是初級、100~200 時是中級、200~500 時是高500以上時是特級。
class Program{ static void Main(string[] args) { Console.WriteLine("請輸入游戲積分(大于0的整數)"); int points = int.Parse(Console.ReadLine()); //如果輸入的積分小于0則將其設置為0 if (points < 0) { points = 0; } if (points <= 100) { Console.WriteLine("您的游戲等級為初級"); }else if (points <= 300) { Console.WriteLine("您的游戲等級為中級"); }else if (points <= 500) { Console.WriteLine("您的游戲等級為高級"); }else { Console.WriteLine("您的游戲等級為特級"); } }}分析:
????????首先依舊是輸出文字,和手動輸入一個數字。
????????然后就進入if-else if-else語句的使用判斷。
????????????不過在那之前,先通過if語句判斷輸入的數字是不是負數。
????????? ? 然后再進行逐一進行判斷,并輸出。
????????由于是逐一進行判斷,所以當輸入350時,其實還經過points <= 100,所以也就完成了這個數字,大于100,小于300.
三、switch語句
????類似if語句,但這里相對更精確更具體一樣。
????表達形式如下:
????????switch(表達式)
????????{
????????? ? case 值 1:
? ? ? ? ????????語句塊 1;
? ? ? ? ????????break;
? ? ????????case 值 2:
? ? ? ? ????????語句塊 2;
? ? ? ? ????????break;
? ? ? ? ????...
? ? ????????default:
? ? ? ? ????????語句塊 n;
? ? ? ? ????????break;
????????}
????????例:
int?a?=?3;switch (a){ case 1: Console.WriteLine("1"); break; case 2: Console.WriteLine("2"); break; default: Console.WriteLine(a); break;}?注意:
????case??后面是冒號,不是分號。
????switch 語句中表達式的結果必須是整型、字符串類型、字符型、布爾型等數據類型。
????如果 switch 語句中表達式的值與 case 后面的值相同,則執行相應的 case 后面的語句塊。
????如果所有的 case 語句與 switch 語句表達式的值都不相同,則執行 default 語句后面的值。
??? default 語句是可以省略的。
????需要注意的是,case 語句后面的值是不能重復的。
????break是中斷語句,目的是跳出整體switch 語句。
????如果不寫break,就會繼續往下執行,直到遇到break,或者直到結束。
int?a?=?5;switch (a){ case 1:??case?2: Console.WriteLine("1"); break;??case?3:??case?4: Console.WriteLine("2"); break; default: Console.WriteLine(a); break;}以上這種方式也可以,表示a如果是1和2,就輸出1;a如果是3和4,就輸出2;否則是a的值。
如果不寫default:和里面的代碼塊,就會什么也不輸出。
四、示例
???? ? 1.使用 switch...case 語句根據學生的考試成績來判斷等級。
????????如果成績在 90 分以上是優秀;
????????如果成績為 80~90 分是良好;
????????如果成績為 60~80 分是及格;
????????如果成績在 60 分以下是不及格。
class Program{ static void Main(string[] args) { Console.WriteLine("請輸入學生考試的成績(0~100的整數)"); int points = int.Parse(Console.ReadLine()); switch (points / 10) { case 10: Console.WriteLine("優秀"); break; case 9: Console.WriteLine("優秀"); break; case 8: Console.WriteLine("良好"); break; case 7: Console.WriteLine("及格"); break; case 6: Console.WriteLine("及格"); break; default: Console.WriteLine("不及格"); break; } }}分析:
????因為需要具體的精確,所以這里除以10,是為了忽略個位數的數。
????畢竟要是都輸入進去,代碼量會多么巨大。
????如:
case 100:case 99:case?98:case?97:case?96:case?95:case?94:case?93:case?92:case?91: Console.WriteLine("優秀"); break;????所以除以10,就更好的節約了代碼量。
????當然,如果不是按整數的要求,也不好這么干。
????2.上述例子,也可以縮減成如下形式。
class Program{ static void Main(string[] args) { Console.WriteLine("請輸入學生考試的成績(0~100的整數)"); int points = int.Parse(Console.ReadLine()); if(points < 0 || points > 100) { points = 0; } switch (points / 10) { case 10: case 9: Console.WriteLine("優秀"); break; case 8: Console.WriteLine("良好"); break; case 7: case 6: Console.WriteLine("及格"); break; default: Console.WriteLine("不及格"); break; } }}總結
以上是生活随笔為你收集整理的break后面的语句还执行吗_【自学C#】|| 笔记 5 条件语句if、switch的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python字典成绩_python_字典
- 下一篇: c# char unsigned_dll