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("啊啊啊!");
            }
    
        }
    }
    
  • 相关阅读:
    leetcode 13. Roman to Integer
    python 判断是否为有效域名
    leetcode 169. Majority Element
    leetcode 733. Flood Fill
    最大信息系数——检测变量之间非线性相关性
    leetcode 453. Minimum Moves to Equal Array Elements
    leetcode 492. Construct the Rectangle
    leetcode 598. Range Addition II
    leetcode 349. Intersection of Two Arrays
    leetcode 171. Excel Sheet Column Number
  • 原文地址:https://www.cnblogs.com/lemonlover/p/13999442.html
Copyright © 2011-2022 走看看