zoukankan      html  css  js  c++  java
  • Day05_java流程控制 switch选择结构

    switch选择结构

    switch多选择结构

    • 多选择结构还有一个实现方式就是switch case语句。
    • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
    • switch 语句中的变量类型可以是:
      • byte、short、int或者char。
      • 从Java SE7开始
      • switch支持字符串String类型了
      • 同时case标签必须为字符串常量或字面量。
    switch(espression){
    	case value:
    		//语句
    		break;//可选
    	case value:
    		//语句
    		break;//可选
    	//你可以有任意数量的case语句
    	default://可选
    		//语句
    }
    
    package com.lemon.struct;
    
    public class SwitchDemo01 {
        public static void main(String[] args) {
            //
            char grade = 'C';
            switch (grade){
                case 'A':
                    System.out.println("优秀");
                    break;//可选
                case 'B':
                    System.out.println("良好");
                    break;//可选
                case 'C':
                    System.out.println("及格");
                    break;//可选
                case 'D':
                    System.out.println("再接再厉");
                    break;
                case 'E':
                    System.out.println("挂科");
                    break;
                default:
                    System.out.println("未知等级");
            }
        }
    }
    
    package com.lemon.struct;
    
    public class SwitchDemo02 {
        public static void main(String[] args) {
            String name="呼呼";
            //JDK7新特性,表达式结果可以是字符串!!!
            //字符的本质还是数字
    
            //反编译     java-----class(字节码文件) ---反编译(IDEA)
    
    
            switch (name){
                case "哈哈":
                    System.out.println("哈哈");
                    break;
                case "呼呼":
                    System.out.println("呼呼");
                    break;
                default:
                    System.out.println("啊啊啊!");
    
            }
        }
    }
    

    反编译








    反编译代码如下

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    package com.lemon.struct;
    
    public class SwitchDemo02 {
        public SwitchDemo02() {
        }
    
        public static void main(String[] args) {
            String name = "呼呼";
            byte var3 = -1;
            switch(name.hashCode()) {
            case 692096:
                if (name.equals("呼呼")) {
                    var3 = 1;
                }
                break;
            case 694528:
                if (name.equals("哈哈")) {
                    var3 = 0;
                }
            }
    
            switch(var3) {
            case 0:
                System.out.println("哈哈");
                break;
            case 1:
                System.out.println("呼呼");
                break;
            default:
                System.out.println("啊啊啊!");
            }
    
        }
    }
    
  • 相关阅读:
    JAVA面试必备笔记:必须掌握的核心技能点
    这里有份最全的微服务,看完你就通关了
    大厂流出:JAVA面试必问面试题及答案
    阿里面试官:请叙述一下HTTP和HTTPS的区别
    [LeetCode] Serialize and Deserialize BST
    [LeetCode] Serialize and Deserialize Binary Tree
    [LeetCode] Next Greater Element II
    [LeetCode] Next Greater Element I
    [MySQL] ACID
    [Linux] linux下生成静态库和动态库
  • 原文地址:https://www.cnblogs.com/lemonlover/p/13999442.html
Copyright © 2011-2022 走看看