• 需求更大的--if条件判断


         现实生活中我们,绝大多数情况下,我们判断1个条件 并不是说仅仅是要得到这个结果, 而是要根据这个结果做出不同的反应,

    但是比较表达式和逻辑表达式他们是用来判断1个或者多个条件是否成立的,那我们怎么办咧?    

    在代码中的需求.有1段代码不是非要执行,而是在满足某个条件的时候才执行.
     如果不满足就不执行.
     if结构的作用就是来实现这个需求的.

    1.0 if的语法:

    if(bool表达式)
     {
     执行代码
     }

      ???什么是bool表达式: 表达式的结果如果是bool类型的 那么它就是1个bool表达式.
    比较表达式 逻辑表达式都是bool表达式

    例如:

     //从键盘上输入一个值,如果这个值在区间[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");

      



  • 相关阅读:
    [原创] 如何在ietester下使用firebug
    Undeclared identifier: 'XXXX'
    图解SQL多表关联查询
    如何去掉Delphi自动生成的~.pas等临时文件
    DataSetProvider的Option属性
    DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我也行
    Windows下搭建Android开发环境
    Delphi快捷键大全
    DevExpress的TcxDBLookupComboBox使用方法及问题
    SQL的重复记录处理大全
  • 原文地址:https://www.cnblogs.com/sabry34126/p/3771388.html
Copyright © 2020-2023  润新知