成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

流程控制一If-Else與If-Else If結構

開發 前端
If-else結構也是選擇結構中的一種,可以讓代碼選擇執行,即“某些代碼可能執行,也可能不執行,有選擇地執行某些代碼”,比if結構相當于隱形的多了一個條件。

疑問:已經有了if結構為什么還會有如if-else,if-else if與switch這樣的選擇結構。

if-else結構

if-else結構也是選擇結構中的一種,可以讓代碼選擇執行,即“某些代碼可能執行,也可能不執行,有選擇地執行某些代碼”;比if結構相當于隱形的多了一個條件。

if-else結構的格式:

if(條件)
{
 //執行條件為真的語句 
}else
{
//執行條件為假的語句
}

執行原理:如果條件為真則執行if語句塊中的代碼,如果條件為假則執行else語句塊中的代碼;如果是if-else結構則必須成對出現,有if語句必有else語句,else關鍵字不能單獨出現。

示例1:去網吧上網需要身份證驗證是否為成年人。

使用if-else結構

示例2:某學校準備與國際接軌,考試分數不再以數字出現在試卷上改為成績:1 大于等于90-分 優秀;2 大于等于80分 良好;3 大于等于70分 中等;4 大于等于60分 合格 5 低于60分 不合格的評分機制(假定),使用分支if結構與if-else結構編程實現。

使用if結構實現。

int score;//輸入的成績
string result = "";//要輸出的評級
Console.WriteLine("請輸入考試成績");
score = Convert.ToInt32(Console.ReadLine());
if (score >= 90)
{
    result = "優秀";
}
if (score >= 80 && score < 90)
{
    result = "良好";
}
if (score >= 70 && score < 80)
{
    result = "中等";
}
if (score >= 60 && score < 70)
{
    result = "及格";
}
if (score < 60)
{
    result = "良好";
}
Console.WriteLine("您的成績是: {0},根據成績您的評級為: {1}", score, result);
Console.ReadKey();

(1) result需要賦值,score不需要賦值的原因:score不報錯的原因是在if中使用之前已經由輸入語句進行賦值而result還沒有進行賦值所以會報出使用未賦值的變量的錯誤。

(2)使用變量result而不是直接在if語句塊中直接輸出評級的益處:1)便于擴展由具體if語句塊負責result的賦值 2)可以減少代碼量,最后統一輸出。

(3)類似的條件推薦依"順序"依次進行判斷,使程序顯得有條理性。

使用if結構實現

使用if-else結構時需要用到此結構的嵌套模式;嵌套模式中無論嵌套多少層else只會與離它上面最近的if進行配對,如下代碼所示:

int a = 5;
 if (a > 6)   //條件1
    if (a < 8)   //條件2
       Console.WriteLine("條件2");
else
Console.WriteLine("配對條件?");
Console.WriteLine("=================");
Console.ReadKey();

else與if就近配對

沒有輸出"配對條件?"文本的原因是條件1的if下面又是一個if而此if下面有一個else,按就近配對原則if-else又是C#中的一種選擇結構,因此整個if-else結構中的代碼相當于一句C#語句 強大的VS工具通過格式化代碼會自動將其配對顯示,如下所示:

格式化代碼

if-else結構的嵌套模式

if(條件1)
{
//執行條件為真的語句
}else //與條件1的if判斷
{  
    if(條件2)//排除的條件2
     {
      //執行條件為真的語句
     }else  //與條件2的if判斷
       {
         .....//理論上可以一直嵌套,實際最合適的嵌套層級3級及以下
      }
}
int score;
string result = "";
Console.WriteLine("請輸入考試成績");
score = int.Parse(Console.ReadLine());
if (score >= 90)
{
    result = "優秀";
}
else
{
    if (score >= 80)
    {
        result = "良好";
    }
    else
    {
        if (score >= 70)
        {
            result = "中等";
        }
        else
        {
            if (score >= 60)
            {
                result = "及格";
            }
            else
            {
                result = "不及格";
            }
        }
    }
}
Console.WriteLine("您的成績是: {0},根據成績您的評級為: {1}", score, result);

條件中score>=80這個地方沒有再寫score<90,是因為在else中的判斷條件是在上次的score>=90條件不成立時才進入else語句塊中的,else語句塊中的if條件判斷中,隱含了把score>=90的剔除了,所以只寫條件score>=80相當于score>=80&&score<90,以下的score>=70是把大于80以上的剔除了,以此類推。

在實現評級的代碼中if結構中的條件使用了邏輯&&而if-else中則必須使用嵌套才能實現。

if-elseif的結構

為了屏蔽兩個結構各自的缺點,使用其優點,C#提供了一個優化的if-elseif的結構。

if-elseif的結構格式:

if(條件1)
{
  //條件1為真時執行
}else if(條件2)
{
//條件2為真時執行
}
....//都是else if(條件n)
//最后有個else語句塊進行結尾
else //可以省略,推薦必有  
{
  //上面的條件都不滿足時執行
}
#region if-else if
      int score;
      string result = "";
      Console.WriteLine("請輸入考試成績");
      int.TryParse(Console.ReadLine(),out score);
      if (score >= 90)
      {
          result = "優秀";
      }
      else if (score >= 80)//第一個條件不滿足時判斷這個條件
      {
          result = "良好";
      }
      else if (score >= 70)
      {
         result = "中等";
     }
     else if (score >= 60)
     {
         result = "及格";
     }
     else //以上條件都不滿足時執行
     {
         result = "不及格";
     }
     Console.WriteLine("您的成績是: {0},根據成績您的評級為: {1}", score, result);
#endregion

由此可以看出使用if-else if結構可以結合其他兩種結構的優點:1) 不用使用邏輯運算符 2) 不用使用嵌套。

當判斷有關聯的多條件時推薦使用這兩個選擇結構。

解釋疑問:通過以上示例可以看出使用if結構就可以代替以上兩種選擇結構,為什么還要有if-else與if-else if結構。

使用if-else if結構

責任編輯:姜華 來源: 今日頭條
相關推薦

2020-05-13 14:15:25

if-else代碼前端

2013-03-06 10:28:57

ifJava

2020-10-22 09:20:22

SQLNoSQL 數據庫

2021-04-13 06:39:13

代碼重構code

2022-07-11 08:16:55

策略模式if-else

2021-03-10 07:20:43

if-else靜態代碼

2020-12-15 09:31:58

CTOif-else代碼

2021-11-04 08:53:00

if-else代碼Java

2025-04-24 08:40:00

JavaScript代碼return語句

2023-11-14 08:00:00

Angular前端開發

2020-04-09 08:29:50

編程語言事件驅動

2025-06-26 01:10:00

服務定位解析器Spring

2020-09-27 14:24:58

if-else cod業務

2024-06-18 18:36:03

2021-01-29 07:45:27

if-else代碼數據

2020-06-04 09:18:52

CTOif-else代碼

2024-04-26 08:58:54

if-else代碼JavaSpring

2020-04-20 15:40:03

if-elseJava優化

2024-03-25 10:00:00

C++編程else

2020-03-11 08:00:12

if-else優化運算符
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久6视频 | 在线国产一区 | 国产精品久久久久久久午夜片 | 国产精品视频一区二区三区 | 狠狠色综合久久婷婷 | 亚洲免费观看视频 | 精品一级 | av一区二区三区 | 日本免费黄色一级片 | 亚洲国产成人精品在线 | 久久久久一区二区三区四区 | 日韩视频区 | 毛片久久久 | 天天人人精品 | 亚洲一区二区免费视频 | 欧美中文字幕在线观看 | 欧美日韩成人网 | 精品无码久久久久久国产 | 亚洲精品福利视频 | 成人午夜激情 | 夜夜骑首页 | 日韩毛片网 | 国产高清视频一区二区 | 午夜视频在线观看一区二区 | 成人小视频在线观看 | 国产福利免费视频 | 亚洲成人激情在线观看 | 九九九久久国产免费 | 国产精品高潮呻吟久久aⅴ码 | 国产精品亚洲第一 | 日干夜干 | 久产久精国产品 | 欧美一区在线视频 | 韩日精品视频 | av天天看 | 日韩二区三区 | 福利视频一二区 | 中文字幕亚洲专区 | 国产福利在线播放麻豆 | 99国产精品久久久 | 97精品国产97久久久久久免费 |