現實生活中咱們,絕大多數狀況下,咱們判斷1個條件 並非說僅僅是要獲得這個結果, 而是要根據這個結果作出不一樣的反應,spa
可是比較表達式和邏輯表達式他們是用來判斷1個或者多個條件是否成立的,那咱們怎麼辦咧? code
在代碼中的需求.有1段代碼不是非要執行,而是在知足某個條件的時候才執行.
若是不知足就不執行.
if結構的做用就是來實現這個需求的.blog
1.0 if的語法:字符串
if(bool表達式)
{
執行代碼
}string
???什麼是bool表達式: 表達式的結果若是是bool類型的 那麼它就是1個bool表達式.
比較表達式 邏輯表達式都是bool表達式it
例如:class
//從鍵盤上輸入一個值,若是這個值在區間[0,100]裏,則加上1000,不然不加。最後輸出結果。 Console.WriteLine("請輸入1個值:"); string str = Console.ReadLine(); int num = int.Parse(str); if (num >= 0 && num <= 100) { num += 1000; } Console.WriteLine(num);
條件:語法
num >= 0 && num <= 100
b. 執行步驟
先計算bool表達式的結果.
若是結果爲true 就執行if塊中的代碼.而後繼續往下執行.
若是結果爲flase 就跳過if塊中的代碼 往下執行.
c. 注意的細節:
if的小括弧中必須是1個bool表達式. 其餘的類型是不行的.
d. 何時使用if結構?
若是有1段代碼不是非要執行 只有在知足某個條件的時候執行 那麼就可使用if結構.程序
又好比:密碼
//請寫1個程序 讓用戶輸入密碼 若是密碼不是"888888" 就提示錯誤. 不然什麼都不作. Console.WriteLine("請輸入密碼:"); string pwd = Console.ReadLine(); //何時纔要將用戶的輸入轉換爲數值類型. 若是這個數據須要參與算術運算 或者 比較運算中的比大小. //若是是比相等 或者 不等 就沒有必要轉換了 由於字符串也能夠比相等或者不等. if (pwd != "888888") { Console.WriteLine("密碼錯誤"); } Console.WriteLine("OVER");
2.0 需求升級
if結構的缺點:
只能在條件成立的時候 執行指定的代碼
新的需求:
條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.
if-else結構
??? 幹嗎的? 能夠實現這樣的需求: 條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.
a. 語法
if(bool表達式)
{
執行代碼
}
else
{
執行代碼;
}
b. 執行步驟.
計算bool表達式的結果.
若是結果爲true。就執行if中的代碼.不會執行else中的代碼.
若是結果爲false 就執行else中的代碼 不會執行if中的代碼.
各自執行完畢之後 就繼續往下執行,.
c. 注意的細節.
1). if後面的小括弧中必須是1個bool表達式.
2). if和else是在一塊兒的 中間不能插入任何代碼.
3). if和else中的代碼不可能都同時執行 也不可能都不執行. 由於bool表達式的而結果只有兩個.
4) if的小括弧後面沒有分號.
d. 總結
何時使用使用if-else結構.
咱們但願 條件成立執行1段代碼 條件若不成立 要執行另外的1段代碼.
if(條件)
{
成立的時候執行的代碼
}
else
{
不成立的時候執行的代碼.
}
來來來走一個:
//請用戶輸入用戶名和密碼. 若是用戶名是"admin"而且密碼是"888888" 就提示 驗證成功 不然就提示 驗證失敗 Console.WriteLine("請輸入用戶名:"); string userName = Console.ReadLine(); Console.WriteLine("請輸入密碼:"); string pwd = Console.ReadLine(); if (userName == "admin" && pwd == "888888") { Console.WriteLine("驗證成功"); } else { Console.WriteLine("驗證失敗"); }
3.0 呵呵需求再次升級,(好像生活同樣天天有新的需求!生活纔好玩!)
if-else結構的缺點.
只能判斷1個條件.
咱們新的需求: 須要判斷多個條件.而且根據不一樣的條件成立來執行不一樣的代碼.
if-else if-else結構.
a. 語法
if(bool表達式1)
{
執行代碼
}
else if(bool表達式2)
{
執行代碼
}
else if(bool表達式3)
{
執行代碼
}
else
{
執行代碼,.
}
執行步驟
從上到下的依次判斷每1個bool表達式. 只要有1個爲true,就執行其中的代碼,執行完畢之後 當即結束整個結構.
若是判斷的結果爲false 再判斷下1個bool表達式.
當全部的條件都不成立的時候 就執行else中的代碼.
例如:
//輸入土豪的兒子的成績. 大於90分的話 咱們就獎勵 保時捷. // 80-89 奔馳汽車 // 70-79 東風日產 // 60-69 拖拉機. // 30-59 打屁股 // 30如下 斷絕父子關係!!!~~~. Console.WriteLine("請輸入土豪的兒子的成績:"); int score = Convert.ToInt32(Console.ReadLine());//99 if (score >= 90) { Console.WriteLine("獎勵奔馳汽車..."); } else if (score >= 80) { Console.WriteLine("獎勵保時捷汽車"); } else if (score >= 70) { Console.WriteLine("獎勵東風日產"); } else if (score >= 60) { Console.WriteLine("獎勵拖拉機..."); } else if (score >= 30) { Console.WriteLine("打屁股"); } Console.WriteLine("OVER");