Java选择结构

本文详细介绍了流程控制在Java中的应用,包括if、else、多重if、嵌套if和switch选择结构的使用方法,以及如何根据学员成绩进行评估。还涵盖了随机数生成和switch结构的特点及常见错误。
摘要由CSDN通过智能技术生成

选择结构

为什么学习流程控制

  • 对学员的考试成绩评测。要求根据不同学员成绩,给予不同评测结果,评测规则如下
    • 成绩 >= 80 : 良好
    • 成绩 >= 60 : 中等
    • 成绩 < 60 : 差
什么是流程控制
  • 流程控制用来控制程序中各语句的执行顺序
  • 在这里插入图片描述

基本的if选择结构

  • 张浩Java成绩大于90分,老师奖励他iPhone6s,该怎么做呢?
  • if选择结构是根据条件判断结果选择不同的处理
if(条件){
    //代码块
}
  • 流程图
    在这里插入图片描述

  • 逐步解决指定问题的步骤和方法的一种图形化表示方法
    在这里插入图片描述

使用复杂条件的if选择结构

  • 张浩Java成绩大于90分,并且音乐成绩大于80分时,或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他,该怎么做呢?
  • 分析
(1) 使用if
(2) 怎样把多个条件连接起来?
使用逻辑运算符
结合运算符的优先级编写条件
  • 最高的优先级: ()
  • 最低的优先级: =
  • 优先级: ! > 算术运算符 > 关系运算符 > && > ||
  • 复杂条件使用括号提高可读性

使用if—else选择结构

  • 如果张浩Java成绩大于90分,老师就奖励他一个iPhone6s
  • 否则老师就罚他蹲马步
if(score > 90){
    System.out.println("老师说:不错,奖励一iPhone6s!");
}
if(score <= 90){
    System.out.println("老师说:惩罚蹲5分钟马步!");
}
//使用 if-else 选择结构实现

在这里插入图片描述

为什么使用多重if选择结构

  • 对学员的考试成绩评测
    • 成绩 >= 80 : 良好
    • 成绩 >= 60 : 中等
    • 成绩 < 60 : 差
      在这里插入图片描述

什么是多重if选择结构

在这里插入图片描述

使用多重if选择语句处理问题时需要注意顺序

嵌套if选择结构
  • 学习举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组

    • 提示: 字符串的比较使用equals()
      • 如: sex.equals("男");
  • 嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性
    在这里插入图片描述

if(条件1){
    if(条件2){
        代码块1
    }else{
        代码块2
    }
}else{
    代码块3
}

产生随机数(0~9)的方法如下

int random=(int)(Math.random()*10);

为什么使用switch选择结构

  • 韩嫣参加计算机编程大赛

    • 如果第一名,参加麻省理工大学组织的1个月夏令营
    • 如果第二名,奖励惠普笔记本电脑一部
    • 如果第三名,奖励移动硬盘一个
    • 否则,不给任何奖励
  • 解决办法

    • 使用多重if选择结构实现
    • 使用switch选择结构解决
缺点:结构复杂,啰嗦
特点:条件为等值判断
switch选择结构语法
switch(表达式){
    case 常量1:
        语句;
        break;
    case 常量2:         //int、short、byte、char、枚举类型、String
        语句;
        break;
     ...
     default:
        语句;
}
  • 常见错误1
int mingCi=1;
switch(mingCi){
        case 1:
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        case 2:
            System.out.println("奖励惠普笔记本一部");
        case 3:
            System.out.println("奖励移动硬盘一个");
        default:
            System.out.println("没有任何奖励");

            //如果需要每个case执行完后跳出,在每个case后不要忘记写break;
}
  • 常见错误2
int mingCi=1;
switch(mingCi){
        case 1:
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        case 2:
            System.out.println("奖励惠普笔记本一部");
        case 2:
            System.out.println("奖励移动硬盘一个");
        default:
            System.out.println("没有任何奖励");

        //Case后的常量值不能相同
}
  • 常见错误3
int mingCi=6;
switch(mingCi){
        default:
            System.out.println("没有任何奖励");
        case 1:
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        case 2:
            System.out.println("奖励惠普笔记本一部");
        case 2:
            System.out.println("奖励移动硬盘一个");
        

        //default块顺序可以变动,但要注意其执行顺序。
        //通常,default块放在末尾,也可以省略
}

总结

  • if选择结构,包括以下形式
    • 基本if选择结构:可以处理单一或组合条件的情况
    • if-else选择结构:可以处理简单的条件分支情况
    • 多重if选择结构:可以处理分段的条件分支情况
    • 嵌套if选择结构:可以处理复杂的条件分支情况
  • switch选择结构
    • 多重分支并且条件判断是等值判断的情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值