zoukankan      html  css  js  c++  java
  • 分支结构(选择结构)

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

    一.条件

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

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

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

    (4)()表示优先级

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

    1.分类

    (1)单分支:过滤

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

            语句块1;

           }

    (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");
            }

     

     

  • 相关阅读:
    UVA-10917 Walk Through the Forest (dijkstra+DP)
    UVA-11374 Airport Express (dijkstra+枚举)
    UVA-11294 Wedding (2-SAT)
    UVALive-3713 Astronauts (2-SAT)
    UVALive-3211 Now or later (2-SAT+二分)
    线程变量
    linux通用双向链表
    排序算法代码
    双向链表
    long与int的区别?(zz)
  • 原文地址:https://www.cnblogs.com/chenyyStudy/p/12904810.html
Copyright © 2011-2022 走看看