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天

  

猜你喜欢

转载自www.cnblogs.com/rdchenxi/p/13363064.html