• 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("啊啊啊!");
            }
    
        }
    }
    
  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/lemonlover/p/13999442.html
Copyright © 2020-2023  润新知