分支结构(选择结构)

谈分支结构之前,说一下条件

一.条件

(1)条件的最终结果类型都为boolean

(2)简单来说:比如,a>5这样的表达式

(3)复杂来说:比如(a<5&&b>3)||(a>5&&b<10)

(4)()表示优先级

二.分支结构(选择分支)

1.分类

(1)单分支:过滤

     if(条件){//如果条件为true,执行语句块1,否则不执行语句块1

        语句块1;

扫描二维码关注公众号,回复: 11212663 查看本文章

       }

(2)双分支

if(条件){//如果条件为true,执行语句块1,如果条件为false,执行语句块2

    语句块1;

}else{

   语句块2;

}

(3)多分支

    1)if....else if.....else主要针对连续的区间判断(一般情况下,if的多重分支要加else)

        if(条件1){//可以从大到小,也可以从小到大,只有一个语句块会被执行

           语句块1;

       }else if(条件2){

                      语句块2;

       }else if(条件3){

                      语句块3;

       }else{

               语句块4;

        }

//用if,else做薪资奖励
         System.out.print("请输入工资:");
        double salary = input.nextDouble();
       if(salary>20000){//从大到小
            System.out.println("奖励5000");
        }else if(salary>18000){
            System.out.println("奖励3000");
        }else if(salary>15000){
            System.out.println("奖励2000");
        }else{
            System.out.println("认真反思");
        }

      if(salary<15000){//从小到大
          System.out.println("认真反思");
      }else if(salary<18000){
          System.out.println("奖励2000");
      }else if(salary<20000){
          System.out.println("奖励3000");
      }else{
          System.out.println("奖励5000");
      }

   2) switch...case...

注意:1.表达式的类型限制:jdk1.7之前(支持long以下的整数),jdk1.7之后,开始支持字符串的等值比较。

           2.break的作用相当于结束分支,switch接口会从第一个匹配项开始执行,到第一个break结束,贯穿全程

          switch(表达式){

                     case 常量1:语句块1;//如果表达式==常量1,执行语句块1

                         break;

                              case 常量2:语句块2;//如果表达式!=常量1且表达式==常量2,执行语句块2

                                 break;

                              .........

                             default:语句块4;//如果一个都不等,就执行语句块4,default相当于else

                   }

//switch手机业务办理,1.余额查询,2.业务办理,3。挂失,4.人工,否则,无此服务,请重新按键
        System.out.print("请按键:");
        String  num = input.next();
        switch (num){
            case "1":
                System.out.println("您的账户余额为100元");
            break;
            case "2":
                System.out.println("您需要办理的业务是。。。");
                break;
            case "3":
                System.out.println("您正在进行挂失");
                break;
            case "4":
                System.out.println("12345号客服为您服务");
                break;
            default://相当于else
                System.out.println("无此服务,请重新按键");
        }

(4)嵌套分支

//嵌套,跑步成绩小于10秒,按性别分组
        Scanner input = new Scanner(System.in);
        System.out.print("请输入时间:");
        double times = input.nextDouble();
        if(times>0&&times<10){
            System.out.print("请输入性别:");
            char gender = input.next().charAt(0);
            switch(gender){
                case '男':
                    System.out.println("恭喜进入男子组");
                    break;
                case '女':
                    System.out.println("恭喜进入女子组");
                    break;
                    default:
                        System.out.println("性别不对");
            }
        }else{
            System.out.println("out");
        }

 

 

猜你喜欢

转载自www.cnblogs.com/chenyyStudy/p/12904810.html