第四章:if选择结构


本章目标

  1. 掌握if选择结构
  2. 掌握if-else选择结构
  3. 掌握多重if选择结构
  4. 掌握嵌套if选择结构

本章内容

1、为什么要使用选择结构?

生活中的案例:如果我微信钱包里有200元钱,就请大家吃饭?

问题来了:那么我一定要请大家吃饭吗?

分析:

​ 第一种情况:钱>=200元,请大家吃饭

​ 第二种情况:钱<200元,不请大家吃饭

​ 通过上述生活中的案例,可以分析当满足一定条件,才能请大家吃饭,那么生活中很多这样的例子,如果在程序中如何实现呢?

使用选择结构可以实现

2、什么是选择结构?

概念:选择结构用于基于不同的条件来执行不同的动作。通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。

C#中的选择结构分类:

  1. if选择结构
  2. if-else选择结构
  3. 多重if选择结构
  4. 嵌套if选择结构
  5. switch选择结构

3、if选择结构

  1. 概念:只有当指定条件为 true 时,该语句才会执行代码

  2. 语法:

    1
    2
    3
    if(条件表达式){
    代码块;
    }

    注意事项:

    1、当条件表达式为true时,才执行代码块

    2、如果代码块只有一句时,可省略{}

  3. 流程图:

  4. 案例:如果微信钱包有200元钱,请大家吃饭。

    1
    2
    3
    4
    int money=200;
    if(money>=200){
    Console.WriteLine("请大家吃饭!");
    }
  5. 练习题目 :如果张浩的Java考试成绩大于98分,张浩就能获得一个MP4作为奖励

  6. 多条件下的if选择结构

    案例:张浩JS成绩大于98分,而且音乐成绩大于80分,老师奖励他;或者JS成绩等于100分,音乐成绩大于70分,老师也可以奖励他

    思考:

    找出题目的条件?

    1、js成绩>98 且 音乐成绩>80

    2、js成绩=100 且 音乐成绩>70

    以上任意一个条件满足都可以有奖励。

    问题:多个条件怎么连接?

    逻辑运算符,作用就是连接多个条件

    案例代码:

    1
    2
    3
    4
    5
    6
    int jsScore=90;
    int musicScore=89;

    if(jsScore>98 && musicScore>80 || jsScore==100 && musicScore>70){
    Console.WriteLine("老师奖励电脑一台!");
    }
  7. 练习题目:如果你年龄大于17,并且是高中生,或者年龄>20,并且学历为初中生那么可以学习JAVA

4、if-else选择结构

  1. 问题:如果我包里有200元钱,我请大家吃饭,否则大家请我吃饭!

    1. 思考:要么我请你们吃饭,要么你们请我吃饭
    2. 条件:钱>=200
    3. 怎么实现:if-else选择结构
  2. 语法:

    1
    2
    3
    4
    5
    if(条件表达式){//当条件成立为true,则执行“代码块1”,为false则执行代码块2
    代码块1;
    }else{
    代码块2;
    }
  3. 流程图:

  4. 案例:如果我包里有200元钱,我请大家吃饭,否则大家请我吃饭!

    1
    2
    3
    4
    5
    6
    int money=150;
    if(money>=200){
    Console.WriteLine("请大家吃饭~");
    }else{
    Console.WriteLine("大家请我吃饭~");
    }
  5. 练习题目:

    1. 题目一:
      如果张浩Java考试成绩大于98分,老师就奖励他一个MP4,否则老师就罚他进行编码

    2. 题目二:
      如果体彩中了500万,我买车、资助希望工程、去欧洲旅游
      如果没中,我买下一期体彩,继续烧高香

5、多重if选择结构

  1. 问题:对学员的结业考试成绩评测,评测如下
    成绩>=80 :良好
    成绩>=60 :中等
    成绩<60 :差

    分析如下:

    1. 将成绩分成几个连续区间判断
    2. 单个if选择结构无法完成
    3. 多个if选择结构很麻烦
    4. 将成功分成如下区间:

  2. 语法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ( 成绩>=80) { 
    //代码块1
    }
    else if (成绩>=60) {
    //代码块2
    }
    else {
    //代码块3
    }
  3. 流程图:

  4. 代码实现:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    int score=90;//成绩

    if(score>=80){
    Console.WriteLine("良好");
    }else if(score>=60){
    Console.WriteLine("中等");
    }else{
    Console.WriteLine("差");
    }
  5. 练习题目 :

    我想买车,买什么车决定于我在银行有多少存款
    如果我的存款超过500万,我就买凯迪拉克
    否则,如果我的存款超过100万,我就买帕萨特
    否则, 如果我的存款超过50万,我就买依兰特
    否则, 如果我的存款超过10万,我就买奥托
    否则, 如果我的存款10万以下 ,我买捷安特

6、嵌套if选择结构

  1. 问题:学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组

  2. 分析:

    1. 判断是否能够进入决赛
    2. 在确定进入决赛的情况下,判断是进入男子组,还是进入女子组

    使用嵌套if实现

  3. 语法:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if(条件1) {
    if(条件2) {
    代码块1
    } else {
    代码块2
    }
    } else {
    代码块3
    }

  4. 执行流程

  5. 代码实现:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int score=10;//跑步时间

    if(score<10){//10秒以内才能进入决赛,才有资格分组
    string gender="男";//性别
    if(gender=="男"){
    Console.WriteLine("恭喜你进入男子组决赛~");
    }else{
    Console.WriteLine("恭喜你进入女子组决赛~");
    }
    }else{
    Console.WriteLine("很遗憾,未能进入决赛~");
    }

课后作业

  1. 输入小明的考试成绩,显示所获奖励
    成绩==100分,爸爸给他买辆车
    成绩>=90分,妈妈给他买MP4
    90分>成绩>=60分,妈妈给他买本参考书
    成绩<60分,什么都不买