zoukankan      html  css  js  c++  java
  • Java 基础分支语句之程序流程控制switch-case

    格式:

    分支结构之二:switch-case
    格式
    switch (表达式){
        case常量:
        执行语句
        //break;可省了
        case 常量2:
        执行语句;
        //break;  可省了
        ...
        dfault:
        执行语句;
    
    }
    
    说明:
    根据Switch表达式中的值。依次匹配各个case中的常量,一旦匹配成功,则进入case结构中,调其执行语句
    当调用完执行语句以后,则仍往下执行其他case里的语句,直到遇到break关键字或者switch - case结构末尾止结束;
    break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
    switch结构中表达式,只能是如下六种数据类型之一
    byte 、short 、char 、int 、枚举类型(JDK1.5新增)、String类型(JDK7.0新增)
    

       

      示例

    public class HelloWorld {
        public static void main(String[] args) {
            int number = 2;
            switch (number){
                case 0:
                System.out.println("zero");
                break;
                case 2:
                System.out.println("one");
                break;//执行后会打断后续执行流程
                case 3:
                System.out.println("two");
                break;
                default:
                System.out.println("other");
            }
        }
    }
    测试
    
    one
    

      示例2

    public class HelloWorld {
        public static void main(String[] args) {
            int number = 2;
            switch (number){
                case 0:
                System.out.println("zero");
                //break;
                case 2:
                System.out.println("one");
                //break;
                case 3:
                System.out.println("two");
                //break;
                default:
                System.out.println("other");
            }
        }
    }
    测试
    one
    two
    other
    

      综合代码测试

    import java.util.Scanner;
    public class HelloWorld {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
    
            int number = 2;
            switch (number) {
                case 0:
                    System.out.println("zero");
                    break;
                case 2:
                    System.out.println("one");
                    break;
                case 3:
                    System.out.println("two");
                    break;
                default:
                    System.out.println("other");
            }
    
            // 获取char 类型变量,Scanner没有相关方法,只能获取一个字符串
    
            System.out.println("请输入您的性别:");
            String gender = scan.next();
            char genderChar = gender.charAt(0);//转换成char类型的操作;获取索引为0 为真上的字符
            System.out.println(genderChar);
    
    
            System.out.println("请输入字符:");
            String Char = scan.next();
            //char cha = Char.charAt(0);
            switch (Char) {
                case "a":
                    System.out.println("A");
                    break;
                case "b":
                    System.out.println("B");
                    break;
                case "c":
                    System.out.println("C");
                    break;
                case "d":
                    System.out.println("D");
                    break;
                case "e":
                    System.out.println("E");
                    break;
                default:
                    System.out.println("other");
            }
            System.out.println("请输入成绩:");
            int score = scan.nextInt();
            switch (score/10) {//对10 取模
                case 0:
                    //System.out.println("不及格:");
                    //break;
                case 2:
                    //System.out.println("不及格");
                    //break;
                case 3:
                    //System.out.println("不及格");
                    //break;
                case 4:
                    //System.out.println("不及格");
                    //break;
                case 5:
                    System.out.println("不及格");
                    break;
                case 6:
                    //System.out.println("及格");
                    //break;
                case 7:
                    //System.out.println("及格");
                    //break;
                case 8:
                    //System.out.println("及格");
                    //break;
                case 9:
                    //System.out.println("及格");
                    //break;
                case 10:
                    System.out.println("及格");
                    break;
                default:
                    System.out.println("输入的不正确");
            }
            System.out.println("请输入你家狗狗年龄:");
            int dogage = scan.nextInt();
            if (dogage < 0) {
                System.out.println("狗狗未出生");
            } else if (dogage <= 2) {
                System.out.println(dogage * 10.2);
            } else {
                System.out.println((dogage-2)*5+2*10.2);
            }
            System.out.println("请输入月份");
            int month = scan.nextInt();
            System.out.println("请输入几号:");
            int day = scan.nextInt();
            int sumdays = 0;
            switch (month){
                case 12:
                    sumdays += 30;
                case 11:
                    sumdays += 31;
                case 10:
                    sumdays += 30;
                case 9:
                    sumdays += 31;
                case 8:
                    sumdays += 31;
                case 7:
                    sumdays += 30;
                case 6:
                    sumdays += 31;
                case 5:
                    sumdays += 30;
                case 4:
                    sumdays += 31;
                case 3:
                    sumdays += 28;
                case 2:
                    sumdays += 31;
                case 1:
                    sumdays += day;
                default:
                    System.out.println("是今年第"+sumdays+"天");
    
    
            }
        }
    }
    
    测试
    one
    请输入您的性别:
    n
    n
    请输入字符:
    a
    A
    请输入成绩:
    60
    及格
    请输入你家狗狗年龄:
    8
    50.4
    请输入月份
    9
    请输入几号:
    17
    是今年第260天
    

      

  • 相关阅读:
    第二阶段站立会议第十天
    第二阶段站立会议第九天
    第二阶段站立会议第八天
    第二阶段站立会议第七天
    第二阶段站立会议第六天
    第二阶段站立会议第五天
    第二阶段站立会议第四天
    第二冲刺阶段个人进度10
    第二冲刺阶段个人进度09
    第二冲刺阶段个人进度08
  • 原文地址:https://www.cnblogs.com/rdchenxi/p/13363064.html
Copyright © 2011-2022 走看看