回顾 自学Java 第八天 (控制语句 Switch 语句)

**

Day 8

**

/**
 * 关于switch语句:
 *  1、switch语句也属于选择结构,也是分支语句
 *  2、switch语句的语法结构:
 *      一个比较完成的switch语句的语法结构:
 *      switch(int或String类型的字面值或变量){
 *          case int或String类型的字面值或变量:
 *          java语句;
 *          ...
 *          break;
 *           case int或String类型的字面值或变量:
 *          java语句;
 *          ...
 *          break;
 *           case int或String类型的字面值或变量:
 *          java语句;
 *          ...
 *          break;
 *        ....
 *        default :
 *          java语句;
 *          ....
 *      }
 *      3、switch语句执行原理:
 *          switch后面小括号当中的“数据”和case后面的“数据”进行一一匹配,匹配成功的分支执行。
 *          按照自上而下的顺序依次匹配、
 *      4、匹配成功的分之执行,分支当中最后有“break”语句的话,整个switch语句终止。
 *      5、匹配成功的分之执行,分支当中没有“break”语句的话,直接进入下一个分支执行(不进行匹配),
 *      这种现象叫做case穿透现象。【提供break;语句可以避免穿透】
 *      6、所有分支都没有匹配成功,当有default的语句话,汇之星default分支当中的程序。
 *      7、switch后面和case后面只能是int或者String类型的数据,不能是探测其它类型。
 *          *当然byte,short,char也可以直接写道switch和case后面,因为他们可以进行自动类型转换。
 *          byte,short,char可以自动转换成int类型。
 *
 *          *JDK6的,switch和case后面只能探测int类型
 *
 *          *JDK7之后包括7版本在内,引入新特性,switch关键字和case关键字后面可以探测int或String类型的数据。
 *
 *      8、case可以合并。
 */
public class SwitchTest01{
    public static void main(String[] args){

        /*long a  = 10L;
        int b = a ;//编译报错
        */

        /*long x = 100L;
        switch (x){ //编译报错

        }*/

        //较完整的switch语句
        //接收用户的输入
        //1   表示星期一
        //2   表示星期二
        //.....
        //7   表示星期二
        java.util.Scanner sscanner  = new java.util.Scanner(System.in);
        System.out.print("请输入数字:");
        int num = sscanner.nextInt();

        switch (num){
            case 1:
                    System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期2");
                break;
            case 3:
                System.out.println("星期3");
                break;
            case 4:
                System.out.println("星期4");
                break;
            case 5:
                System.out.println("星期5");
                break;
            case 6:
                System.out.println("星期6");
                break;
            case 7:
                System.out.println("星期7");
                break;
            default:
                System.out.println("输入有误");

        }


        /**
         * 实现计算器当中的
         * +
         * -
         * *
         * %
         * 实现思路:
         * 1、选择所有数据从键盘输入
         * 2、使用switch语句进行判断
         * 3、需要从控制台输入三次:
         *    第一个数字
         *    运算符
         *    第二个数字
         *
         *    最终在控制台是这样的一个场景:
         *      欢迎使用简单计算器系统:
         *      请输入第一个数字:10
         *      请输入运算符:+
         *      请输入第二个数字:20
         *      运算结果:10+20 = 30
         */
        java.util.Scanner s  = new java.util.Scanner(System.in);
        System.out.println("欢迎使用简单计算器系统");
        System.out.println("请输入第一个数字:");
        int num1 = s.nextInt();
        System.out.println("请输入运算符:");
        String operator = s.next();
        System.out.println("请输入第二个数字:");
        int num2 = s.nextInt();

        int result = 0;
        switch (operator){
            case "+" :
                result = num1 + num2;
                break;
            case "-" :
                result = num1 - num2;
                break;
            case "*":
                result = num1 * num2;
                break;
            case "/":
                result = num1 / num2;
                break;
            case "%":
                result = num1 % num2;

                break;
            default:
                System.out.println("该系统不支持");
        }
        System.out.println("输出结果:"+num1 + operator +num2 +"="+ result);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值