• java基础---选择结构(二)


    1.为什么使用switch选择结构?

    能够解决一些:条件为等值判断

    2.什么是switch选择结构?

    switch (表达式) {

             case 常量 1:

               语句;

                                  break;

            case 常量 2:

               语句;

                                  break;

           …

           default:

              语句;

                               break;

         }

    3.如何使用switch选择结构?

    举例:

    int mingCi = 1;

    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("没有任何奖励 ");

     }

     结果:参加麻省理工大学组织的1个月夏令营

    4.Switch常见错误?

    1)如果需要每个case执行完后跳出,在每个case后不要忘记写break; (结束分支)

    2)case后面的常量必须各不相同   (case 2: ...  case 2:..)

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

    5.比较switch和多重if选择结构?

    多重if比switch使用的范围更广一些,不仅可以处理等值的情况,还可以处理区间的

    switch 只能处理条件判断  (有区间的使用if,没有区间限制的使用switch)

    相同点:比较switch和多重if选择结构

    不同点:switch选择结构,只能处理等值条件判断的情况,而且条件必须是整型

    变量或字符型变量或字符串

    多重if选择,没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

    举例:自动拨号

    public class Case1 {

    public static void main(String[] args) {

     Scanner input=new Scanner(System.in);

            System.out.println("请选择..");

            int choice=input.nextInt();

    switch(choice){

    case 1:

             System.out.println("拨打爸爸的手机");

             break;

    case 2:

             System.out.println("拨打妈妈的手机");

             break;

    case 3:

             System.out.println("拨打爷爷的手机");

             break;

    case 4:

            System.out.println("拨打爷爷的手机");

            break;

    default:

          System.out.println("拨打cuowu");

          }

       }

    }

    练习:菜单跳转

    import java.util.Scanner;

    import javax.print.DocFlavor.INPUT_STREAM;

    public class Case2 {

    public static void main(String[] args) {

          Scanner input=new Scanner(System.in);

          System.out.println("欢迎使用我行我素管理系统");

          System.out.println("1.登陆系统");

          System.out.println("2.退出");

         System.out.println("请选择....");

         int choice=0;

         choice=input.nextInt();

         if(choice==1){ 

                      System.out.println("登陆系统");

                      System.out.println("1.客户信息管理2.购物结算3.真情回馈4.注销");

                      System.out.println("请选择....");

                      int b=1;

                      b=input.nextInt();

                      switch(b){

                      case 1:

                               System.out.println("1.购物系统管理>>客户信息管理");

                               System.out.println("1.显示所有客户信息2添加客户信息3.修改客户信息4.查询客户信息");

                               System.out.println("请选择....");

                              break;

                     case 2:

                              System.out.println("2.购物结算");

                              break;

                      case 3:

                             System.out.println("3.购物系统管理>>真情回馈");

                             System.out.println("1-幸运大发送;2-幸运抽奖;3-生日问候");

                             System.out.println("请选择....");

                             break;

                     default:

                            System.out.println("4.注销");

                            break;

                    }

       }else{

                       System.out.println("退出系统");

    }

    }

    }

    心得:实现3级菜单。If嵌套switch

    6.为什么要处理系统异常?

    如果用户错误地输入了一个不允许的字符,例如“s”,程序会怎样出现java.util.InputMismatchException

    7.如何处理系统异常?

    Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字

    举例:避免输入错误

    import java.util.Scanner;

    public class Case3 {

    public static void main(String[] args) {

      //处理系统异常

             Scanner input=new Scanner(System.in);

            System.out.println("请输入数字");

            if(input.hasNextInt()){

            int num=input.nextInt();

    }

    else{

           System.out.println("对不起,请输入整数");

    }

    }

    }

    操作:实现商品换购

    import java.util.Scanner;

    public class as {

     public static void main(String[] args) {

     Scanner input=new Scanner(System.in);

             double cost=0;//消费金额

             double add=0;//换购金额

             String product=null;//换购产品

             String isOk=null;//是否参加换购活动

              int choice=0;//选项

              double pay=0;//支付金额

              System.out.println("请输入您的消费金额");

              cost=input.nextDouble();

              System.out.println("是否参加换购活动... y-参加;n-不参加");

              isOk=input.next();

              if(isOk.equals("y")) {

               System.out.println("1-消费满50元,加2元换购百事可乐一瓶");

               System.out.println("2-消费满100元,加3元换购500ml可乐一瓶");

               System.out.println("3-消费满100元,加10元换购5公斤面粉");

               System.out.println("4-消费满200元,加10元换购苏泊尔炒菜锅");

               System.out.println("5-消费满200元,加20元换购欧莱雅爽肤水一瓶");

               System.out.println("请选择.....");

               choice=input.nextInt();

               switch (choice) {

                case 1:

                if(cost>50) {

                 product="百事可乐一瓶";

                       add=2;

                   }else {

                   System.out.println("您的消费金额不足50元");

                   }

                   break;

      case 2:

      if(cost>50) {

      product="500ml可乐一瓶";

       add=3;

                   }else {

                   System.out.println("您的消费金额不足10元");

                   }

       break;

      case 3:

      if(cost>100) {

      product="5公斤面粉";

       add=10;

                   }else {

                   System.out.println("您的消费金额不足100元");

                   }

       break;

      case 4:

      if(cost>200) {

      product="苏泊尔炒菜锅";

       add=10;

                   }else {

                   System.out.println("您的消费金额不足200元");

                   }

       break;

      case 5:

      if(cost>200) {

      product="欧莱雅爽肤水";

       add=20;

                   }else {

                   System.out.println("您的消费金额不足200元");

                   }

       break;    

    default:

     System.out.println("选择错误....");

    break;

    }

             }else {

              System.out.println("不参加换购活动");

             }

             //计算消费总金额

             pay=cost+add;

             System.out.println("您本次一共消费:"+pay);

             System.out.println("您换购的产品为:"+product);

    }

    }

    心得:提前将一些用到的变量写出来

     

  • 相关阅读:
    asp.net发布网站的时候三个选项
    Web Service 异常处理
    Asp.net 缓存技术总结
    自定义控件:广告内容后期加载。以及NamingContainer层次的应用
    图片显示时加水印(不改变原图片)
    .NET 2.0中的企业库异常处理块简述
    .NET反射、委托技术与设计模式
    三角函数Table.AddColumn(Power Query 之 M 语言)
    统计信息Table.AddColumn(Power Query 之 M 语言)
    提取Table.AddColumn(Power Query 之 M 语言)
  • 原文地址:https://www.cnblogs.com/-lyr/p/9548748.html
Copyright © 2020-2023  润新知