三、选择结构

本文详细介绍了Java中的if分支结构(单分支、if-else、多分支和嵌套if)、switch分支结构以及equals方法的使用,同时讨论了随机数生成,并对比了if和switch的选择结构在不同场景下的应用。
摘要由CSDN通过智能技术生成

一、目标

  • 掌握if分支结构
  • 掌握switch分支结构

二、if分支结构

一、单分支if选择结构

语法结构:
           if(条件){
                代码块
           }
           执行规律:
               如果条件为true 执行代码块 然后执行接下来的代码
               否则 直接执行后面的代码
               无论条件是不

是复制 条件的结果只能是布尔值 要么为true 要么为false

//张浩Java成绩大于90分,并且音乐成绩大于80分时,
// 或者Java成绩等于100分,音乐成绩大于70分时,老师奖励他,该怎么做呢?
double javaScore=93.5;
double musicScore=95;
if ((javaScore>90&&musicScore>80)||(javaScore==100&&musicScore>70));{
    System.out.println("奖励");

 二、if-else选择结构

语法结构
     if(条件){
            代码块1;
     }else{
            代码块2;             
     }
     执行规律
       判断条件是否为true,true执行代码块1
       否则执行代码块2

int score=96;
if (score>90){
    System.out.println("奖励");
}
else{
    System.out.println("蹲马步");
}

 三、多分支if选择结构

语法结构:
   if(条件1){
       代码块1 ;
   }else if(条件2){
       代码块2;
   }else if(条件3){
       代码块3;
   }else{
        代码块4;
   }
   执行规律
        条件1为true 执行代码块1
        条件1为false 判断条件2 如果条件2为true 执行代码块2
        以此类推
        只要执行了一个代码块 即结束这个if-else-if结构
        如果所有的条件都不满足,执行else里面的代码
   注意事项
        1)按照顺序从上往下判断条件,一旦条件满足,就执行相对应{}的代码,不再往下判断其他条件
        2)如果所有的条件都不满足,执行else里面的代码

        3)当条件不是完整的两个边界值时,条件是有顺序的(上下排列的顺序)

Scanner scanner=new Scanner(System.in);
 double score= scanner.nextDouble();
 if (score>=90){
     System.out.println("优秀");
 } else if (score>=80) {
     System.out.println("良好");
 } else if (score>60) {
     System.out.println("一般");
 }else {
     System.out.println("差");
 }

四、equals的使用

比较两个字符串内容是否相同,使用equals()进行比较
使用方式
    字符串变量名.equals(字符串变量名或者字符串)
    返回值为Boolean值,相同为true 不同为false
    比较值为equals 比较地址为==(值相同 地址不一定相同)

注:==用于基本数据类型比较的是值
 ==用于包装类(引用类)比较的是对象地址
 equals方法没有重写还是比较对象地址
 重写equals方法后要看是如何重写的(Object(地址)、Integer(值)、String(先地址后值、地址不同值相同返回true)、自定义类(可以自己定义))

String a="123abc";
String b="123abc";
String c="123";
boolean result1=a.equals(b);
boolean result2=a.equals(c);
System.out.println(result1);
System.out.println(result2);

5、嵌套if选择结构

嵌套if选择结构: 在一个if结构中包含另外一个if结构
语法结构:
     if(条件1){
          代码块1;
          if(条件2){
              代码块2;
          }else{
              代码块3
          }
     }else{
         代码块4;
         if(条件3){
          代码块5;
       }else{
          代码块6;
          }
     }
 执行规律
     如果条件1为true 执行代码块1 然后判断条件2;
     如果条件2为true 执行代码块2 否则执行代码块3;
     如果1为false  执行代码块4  然后判断条件3
     如果条件3为true  执行代码块5 否则执行代码块6
   注意事项
   无论结构嵌套多少次 严格安装if结构的执行规律 一层一层往里面判断条件

Scanner scanner=new Scanner(System.in);
double score=scanner.nextDouble();
if(score<10){
    System.out.println("恭喜你进入决赛");
    System.out.println("请输入你的性别");
    String sex=scanner.next();
    if(sex.equals("男")){
        System.out.println("进入男子决赛组");
    }else if (sex.equals("女")){
        System.out.println("进入女子决赛组");
    }else{
        System.out.println("你输入错误");
    }
}else{
    System.out.println("你没进入决赛继续努力");
}

6、随机数的产生

double num1=Math.random();

  • //随机返回一个0.0到1.0之间的double类型的数据
  • //Math.random()*10,随机返回一个[0.0,10.0)之间的double类型的数值
  • //(int)Math.random()*10,随机返回一个[0,10)之间的int类型的数值

int num2=(int)(Math.random()*10);
System.out.println(num2);

  • 随机产生[num1,num2](num2大于num1)之间的int类型的数据
  • (int)((Math.random)*(num2-num1)+num1);

二、switch 选择结构

 switch选择结构:
             语法结构
             switch(表达式){
                  case 值1:
                  代码块1;
                  break;
                  case 值2;
                  代码块2
                  break;
                  ........
                  default:
                  代码块m;
                  break;
               }

               执行规律
                 先计算表达式的值 与case后面的值进行匹配,然后执行后面的代码块 然后执行break
                 如果都不匹配 执行default 然后执行break 然后结束整个switch结构
               注意事项
               1)表达式值的类型可以是int short byte char 枚举类型 String (JDK1.7版本以后
               2)case后面的值不能相同 否则会报警
               3)每个case里面的break的作用是退出switch 可以不写 会造成case穿透现象
               4)default语句可以写在任意位置,一般写在末尾也可以省略

 

//韩嫣参加计算机编程大赛
//如果第一名,参加麻省理工大学组织的1个月夏令营
//如果第二名,奖励惠普笔记本电脑一部
//如果第三名,奖励移动硬盘一个
//否则,不给任何奖励
        int mingci=4;
        switch (mingci){
            case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");
                break;
            case 2:
                System.out.println("奖励惠普笔记本电脑一部");
                break;
            case 3:
                System.out.println("奖励移动硬盘一个");
                break;
            default:
                System.out.println("不给任何奖励");

        }

三、区别与总结

if选择结构,包括以下形式

  • 基本if选择结构:可以处理单一或组合条件的情况
  • if-else选择结构:可以处理简单的条件分支情况
  • 多重if选择结构:可以处理分段的条件分支情况
  • 嵌套if选择结构:可以处理复杂的条件分支情况

switch选择结构

  • 多重分支并且条件判断是等值判断的情况
  • 能用switch解决的问题 都可以用if解决
  • 能用if解决的问题 不一定可以用switch解决 因为if解决的可以是范围性的问题 swith不能一个个举例吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值