美文网首页
switch 和循环结构

switch 和循环结构

作者: Forachange | 来源:发表于2020-04-17 20:47 被阅读0次

    switch case

    格式:

    switch  (变量) {
        case 常量1:
            处理方式1;
        break;
        case 常量2:
            处理方式2;
        break;
        ……
        case 常量n:
            处理方式n;
        break;
        defalt  :
            默认处理方式;
        break;
    }
    

    总结:

    1.拿小括号里的变量与大括号里的常量进行匹配,匹配成功执行相应的处理方式,否则执行default的处理方式。
    2.不能出现重复的case常量,否则无法判断执行哪一个case的处理方式,会报错,因为switch里面所有的case都是同级的。
    3.break是用来结束整个switch case语句的运行的,如果漏写了会出现case穿透,switch case 语句会继续运行,直到遇到 break或者大括号}结束。
    4.switch case 结构和if else if结构相似,if else if 适合与处理范围性数据,switch case 适合处理针对性数据

    /*
    switch case 演示点菜
    1. 五顺斋烤鸭
    2. 重庆/四川火锅
    3. 擀面皮
    4. 烤羊排
    5. 佛跳墙(God Use VPN)
    */
    import java.util.Scanner;
    class Demo4 {
        public static void main(String[]   args) {
        // 这里需要一个int类型的变量 变量名choose
          int choose = 0;
          Scanner sc = new Scanner(System.in);
        // 展示菜单
          System.out.println("欢迎来到骚磊米其林十二星餐厅");
          System.out.println("1. 五顺斋烤鸭");
          System.out.println("2. 重庆/四川火锅");
          System.out.println("3. 擀面皮");
          System.out.println("4. 烤羊排");
          System.out.println("5. 佛跳墙(God UseVPN)");
          choose = sc.nextInt();
        // 使用switch case处理数据, 需要处理的数据是保存在 choose变量中,switch case结构对于choose进行处理
          switch (choose) {
        // case 1 这里是用于处理choose中数据为1的情况
            case 1:
        // 处理方式
            System.out.println("五顺斋烤鸭82RMB");
        // 跳出switch case结构
            break;
            case 2:
            System.out.println("重庆/四川火锅180RMB");
            break;
            case 3:
            System.out.println("擀面皮 5RMB");
            break;
            case 4:
            System.out.println("烤羊排 65RMB");
            break;
            case 5:
            System.out.println("佛跳墙(God UseVPN) 998RMB");
            break;
         // 以上所有的Case都没有运行的情况下,会执行 default
        // 保留的处理方式
            default:
            System.out.println("不好意思,您选择错误!!!");
            break;
          }
          }
    }
    
    

    循环结构

    while 循环和do while 循环

    while循环是先判断看是否执行循环体,do while 循环是先执行一次循环体再进行判断是否继续执行循环体

    格式:

    while (判断语句) {
        循环体;
        控制循环变量的语句;
    }
    
    do {
        循环体;
        控制循环变量的语句;
    } while (判断语句);
    

    演示:

    while循环结构
    展示数值 1 ~ 100
    */
    class Demo7 {
          public static void main(String[] args) {
        // 定义循环使用的变量,int类型,初始化为1
        // 循环使用的变量名 i
            int i = 1;
            while (i <= 100) {
             System.out.println("i : " + i);
              i += 1;
            }
          }
    }
    
    
    /*
    使用do - while循环展示大写字母A ~ Z
    */
    class Demo11 {
            public static void main(String[] args) {
    /*
    这里循环操作使用的是一个字符类型的变量需要定义一个变量 char类型 变量名叫做 ch初始化数为'A'
    */
              char ch = 'A';
              do {
                System.out.println("ch : " + ch);
                ch += 1; 
              /*
               正确操作 计算机会自动完成数据转换过程,保证ch是char类型自增操作,也是同类型自增
               ch = ch + 1; 错误操作,并且不推荐强制类型转换
               1 默认是一个int类型,char类型数据+int类型数据 ==> int类型
                ch 是一个char类型,无法保存一个int类型数据,没有做到【数据类型一致化要求】
              */
              } while (ch <= 'Z');
          }
    }
    

    循环和分支的嵌套

    可以先写好一个循环语句,然后把分支语句放到循环体的位置

    演示:

    /*
    使用while循环,完成一个点菜系统
    1. 完成用户的点菜功能
    2. 点菜之后输出总价
    3. 用户指定方式退出
    */
    import java.util.Scanner;
            class Demo13 {
                  public static void main(String[] args) {
    /*
    这里需要一个变量 int类型,作为用户的选择变量名 choose
    */
                    int choose = 0;
    /*
    计算得到总价格,int类型,变量名为 total
    */
                    int total = 0;
    /*
    准备一个Scanner类型的变量,用于从键盘上获取用户输入的数据
    */
                    Scanner sc = new Scanner(System.in);
                    System.out.println("欢迎来到骚磊老酒馆");
                    System.out.println("1. 青岛啤酒 8RMB");
                    System.out.println("2. 野格 88RMB");
                    System.out.println("3. 江小白 25RMB");
                    System.out.println("4. 乌苏 6RMB");
                    System.out.println("5. 1664 18RMB");
                    System.out.println("6. 下单");
    /*
    用户输入6终止循环,如果不是6,继续循环
    */
                    while (choose != 6) {
                        choose = sc.nextInt();
                        switch (choose) {
                            case 1:
                            System.out.println("1. 青岛啤酒8RMB");
                            total += 8;
                            break;
                            case 2:
                            System.out.println("2. 野格88RMB");
                            total += 88;
                            break;
                            case 3:
                            System.out.println("3. 江小白25RMB");
                            total += 25;
                            break;
                            case 4:
                            System.out.println("4. 乌苏6RMB");
                            total += 6;
                            break;
                            case 5:
                            System.out.println("5. 166418RMB");
                            total += 18;
                            break;
                            case 6:
                            System.out.println("6. 下单");
                            break;
                            default:
                            System.out.println("选择错误");
                            break;
                        }
                    }
     System.out.println("本场消费 : " + total);
            }
    }
    

    循环过程中需要注意无限循环问题,控制无限循环问题的出现。一定要保证循环条件有效性或者代码中存在一个跳出循环的机制。

    相关文章

      网友评论

          本文标题:switch 和循环结构

          本文链接:https://www.haomeiwen.com/subject/kjoyvhtx.html