zoukankan      html  css  js  c++  java
  • 5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?-Java面试题答案

    /**
     * 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
     * 基本类型的包装类(如:Character、Byte、Short、Integer)
     *
     * switch可作用于char byte short int
     * switch可作用于char byte short int对应的包装类
     * switch不可作用于long double float boolean,包括他们的包装类
     * switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
     * switch中可以是枚举类型
     */

    switch可作用于char byte short int
    switch可作用于char byte short int对应的包装类
    switch不可作用于long double float boolean,包括他们的包装类,源代码示例:

    package java基础题目;
     
    public class Test5 {
        public static void main(String[] args) {
            // switch可作用于char byte short int
            char season1 = 3;
            byte season2 = 3;
            short season3 = 3;
            int season4 = 3;
     
            // switch可作用于char byte short int对应的包装类
            Character season11 = 3;
            Byte season22 = 3;
            Short season33 = 3;
            Integer season44 = 3;
     
            // 下面的基本类型的包装类就不行了,还有double float的包装类
            // Long season = 0;
     
            // switch不可作用于long double float boolean,包括他们的包装类
            long season5 = 3;
            
            double season6 = 3;
            float season7 = 3f;
            boolean season8 = false;
            //......
     
            String strSeason = "";
            switch (season1) {
            case 1:
                strSeason = "Spring";
                break;
            case 2:
                strSeason = "Summer";
                break;
            case 3:
                strSeason = "Fall";
                break;
            case 4:
                strSeason = "Winter";
                break;
            default:
                strSeason = "四季中没有这个季节";
                break;
            }
            System.out.println("strSeason:" + strSeason);
        }
     
    }
    package java基础题目;
     
    /*
     * switch中可以是字符串类型
     *String(jdk1.7之后才可以作用在string上)
     */
    public class Test6 {
        public static void main(String[] args) {
            int season = 0;
            String strSeason = "Summer";
            switch (strSeason.toLowerCase()) {
            case "spring":
                season = 1;
                break;
            case "summer":
                season = 2;
                break;
            case "fall":
                season = 3;
                break;
            case "winter":
                season = 4;
                break;
            default:
                season = -1;// 没找到对应的季节
                break;
            }
            System.out.println(strSeason + "-->" + season);
        }
    }

    switch中可以是1.5枚举类型,源代码示例:

    package java基础题目;
    /*
     * switch中可以是1.5枚举类型
     */
    //枚举三个量
    enum Signal{
        GREEN,YELLOW,RED;
    }
    public class Test7 {
        public static void main(String[] args) {
            Signal color = Signal.RED;
            
            switch (color) {
            case RED:
                color = Signal.YELLOW;
                break;
            case YELLOW:
                color = Signal.RED;
            case GREEN:
                color = Signal.YELLOW;
            default:
                System.out.println("什么鬼灯");
                break;
            }
            
            System.out.println("color:"+color);
        }
     
    }
  • 相关阅读:
    mysql 自定义排序
    arcgis 好人
    eclipse启动tomcat,提示三个端口均被占用
    oracle 查看表空间创建日期
    navacat 链接oracle oci invalid handle
    java +mysql 递归排序/* START WITH aa.parentid IN ( 10000, 20000, 30000, 40000, 50000, 60000, 70000 ) connect BY prior aa.id = aa.parentid ORDER siblings BY aa.id ASC*/ to
    Double 转 BigDecimal
    mysql 死锁 Waiting for stored function metadata lock
    Graphtree--zabbix增强功能(一屏展示所有内容)
    zabbix 分布式监控(proxy)源码安装
  • 原文地址:https://www.cnblogs.com/helenwq/p/11647334.html
Copyright © 2011-2022 走看看