栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java自学笔记——Java流程控制(四)选择结构——Switch多选择结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java自学笔记——Java流程控制(四)选择结构——Switch多选择结构

Java流程控制目录

Java自学笔记——Java流程控制(一)用户交互Scanner——next() nextLine()
Java自学笔记——Java流程控制(二)顺序结构
Java自学笔记——Java流程控制(三)选择结构——if 选择结构
Java自学笔记——Java流程控制(四)选择结构——Switch多选择结构
Java自学笔记——Java流程控制(五)循环结构——While 循环结构

目录
  • switch多选择结构
    • 1. switch语句中的变量类型可以是
    • 2. 代码:
    • 3. 代码:
    • 4. 打开Class反编译文件的过程

switch多选择结构
  • 多选择结构还有一个实现方式就是 switch case 语句。
  • switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
1. switch语句中的变量类型可以是
  • byte、 short、int 或者 char

  • 从 Java se7开始

  • switch 支持字符串 String 类型了

  • 同时case标签必须为 字符串常量 或 字面量。

switch ( expression ){
case value :
//语句
break;//可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default: //可选
//语句

}

2. 代码:
package com.blue.struct;

//swich多选择结构
public class SwichDemo01 {
    public static void main(String[] args) {
        //case穿透  //switch 匹配一个具体的值
        char grade = 'C';

        switch (grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;
            case 'C':
                System.out.println("及格");

            case 'D':
                System.out.println("再接再厉");

            case 'E':
                System.out.println("挂科");
                

        }
    }
}

结果:

只有加上了break才会跳出循环

D:ruanjianJavajdk1.8binjava.exe "-javaagent:D:ruanjianideaIntelliJ IDEA 2021.1libidea_rt.jar=52870:D:ruanjianideaIntelliJ IDEA 2021.1bin" -Dfile.encoding=UTF-8 -classpath D:ruanjianJavajdk1.8jrelibcharsets.jar;D:ruanjianJavajdk1.8jrelibdeploy.jar;D:ruanjianJavajdk1.8jrelibextaccess-bridge-64.jar;D:ruanjianJavajdk1.8jrelibextcldrdata.jar;D:ruanjianJavajdk1.8jrelibextdnsns.jar;D:ruanjianJavajdk1.8jrelibextjaccess.jar;D:ruanjianJavajdk1.8jrelibextjfxrt.jar;D:ruanjianJavajdk1.8jrelibextlocaledata.jar;D:ruanjianJavajdk1.8jrelibextnashorn.jar;D:ruanjianJavajdk1.8jrelibextsunec.jar;D:ruanjianJavajdk1.8jrelibextsunjce_provider.jar;D:ruanjianJavajdk1.8jrelibextsunmscapi.jar;D:ruanjianJavajdk1.8jrelibextsunpkcs11.jar;D:ruanjianJavajdk1.8jrelibextzipfs.jar;D:ruanjianJavajdk1.8jrelibjavaws.jar;D:ruanjianJavajdk1.8jrelibjce.jar;D:ruanjianJavajdk1.8jrelibjfr.jar;D:ruanjianJavajdk1.8jrelibjfxswt.jar;D:ruanjianJavajdk1.8jrelibjsse.jar;D:ruanjianJavajdk1.8jrelibmanagement-agent.jar;D:ruanjianJavajdk1.8jrelibplugin.jar;D:ruanjianJavajdk1.8jrelibresources.jar;D:ruanjianJavajdk1.8jrelibrt.jar;E:JAVAJAVAmalianxi1JavaSEoutproduction基础语法 com.blue.struct.SwichDemo01
及格
再接再厉
挂科

Process finished with exit code 0

3. 代码:
package com.blue.struct;

//swich多选择结构
public class SwichDemo01 {
    public static void main(String[] args) {
        //case穿透  //switch 匹配一个具体的值
        char grade = 'F';

        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("无效");

        }
    }
}

结果:

D:ruanjianJavajdk1.8binjava.exe "-javaagent:D:ruanjianideaIntelliJ IDEA 2021.1libidea_rt.jar=53255:D:ruanjianideaIntelliJ IDEA 2021.1bin" -Dfile.encoding=UTF-8 -classpath D:ruanjianJavajdk1.8jrelibcharsets.jar;D:ruanjianJavajdk1.8jrelibdeploy.jar;D:ruanjianJavajdk1.8jrelibextaccess-bridge-64.jar;D:ruanjianJavajdk1.8jrelibextcldrdata.jar;D:ruanjianJavajdk1.8jrelibextdnsns.jar;D:ruanjianJavajdk1.8jrelibextjaccess.jar;D:ruanjianJavajdk1.8jrelibextjfxrt.jar;D:ruanjianJavajdk1.8jrelibextlocaledata.jar;D:ruanjianJavajdk1.8jrelibextnashorn.jar;D:ruanjianJavajdk1.8jrelibextsunec.jar;D:ruanjianJavajdk1.8jrelibextsunjce_provider.jar;D:ruanjianJavajdk1.8jrelibextsunmscapi.jar;D:ruanjianJavajdk1.8jrelibextsunpkcs11.jar;D:ruanjianJavajdk1.8jrelibextzipfs.jar;D:ruanjianJavajdk1.8jrelibjavaws.jar;D:ruanjianJavajdk1.8jrelibjce.jar;D:ruanjianJavajdk1.8jrelibjfr.jar;D:ruanjianJavajdk1.8jrelibjfxswt.jar;D:ruanjianJavajdk1.8jrelibjsse.jar;D:ruanjianJavajdk1.8jrelibmanagement-agent.jar;D:ruanjianJavajdk1.8jrelibplugin.jar;D:ruanjianJavajdk1.8jrelibresources.jar;D:ruanjianJavajdk1.8jrelibrt.jar;E:JAVAJAVAmalianxi1JavaSEoutproduction基础语法 com.blue.struct.SwichDemo01
无效

Process finished with exit code 0

***JDK7新特性~
表达式结果可以是字符~***

4. 打开Class反编译文件的过程
package com.blue.struct;

public class SwitchDemo02 {
    public static void main(String[] args) {
        String name = "嘎子";
        //DK7的新特性, 表达式结果可以是字符!!!
        //字符的本质还是数字

        //反编译   java-- cLass(字节码文件)---反编译(IDEA)
        switch (name){
            case "嘎子":
                System.out.println("嘎子");
                break;
            case "潘子":
                System.out.println("潘子");
                break;
            default:
                System.out.println("潘嘎之交");

        }

    }
}

结果:

D:ruanjianJavajdk1.8binjava.exe "-javaagent:D:ruanjianideaIntelliJ IDEA 2021.1libidea_rt.jar=53400:D:ruanjianideaIntelliJ IDEA 2021.1bin" -Dfile.encoding=UTF-8 -classpath D:ruanjianJavajdk1.8jrelibcharsets.jar;D:ruanjianJavajdk1.8jrelibdeploy.jar;D:ruanjianJavajdk1.8jrelibextaccess-bridge-64.jar;D:ruanjianJavajdk1.8jrelibextcldrdata.jar;D:ruanjianJavajdk1.8jrelibextdnsns.jar;D:ruanjianJavajdk1.8jrelibextjaccess.jar;D:ruanjianJavajdk1.8jrelibextjfxrt.jar;D:ruanjianJavajdk1.8jrelibextlocaledata.jar;D:ruanjianJavajdk1.8jrelibextnashorn.jar;D:ruanjianJavajdk1.8jrelibextsunec.jar;D:ruanjianJavajdk1.8jrelibextsunjce_provider.jar;D:ruanjianJavajdk1.8jrelibextsunmscapi.jar;D:ruanjianJavajdk1.8jrelibextsunpkcs11.jar;D:ruanjianJavajdk1.8jrelibextzipfs.jar;D:ruanjianJavajdk1.8jrelibjavaws.jar;D:ruanjianJavajdk1.8jrelibjce.jar;D:ruanjianJavajdk1.8jrelibjfr.jar;D:ruanjianJavajdk1.8jrelibjfxswt.jar;D:ruanjianJavajdk1.8jrelibjsse.jar;D:ruanjianJavajdk1.8jrelibmanagement-agent.jar;D:ruanjianJavajdk1.8jrelibplugin.jar;D:ruanjianJavajdk1.8jrelibresources.jar;D:ruanjianJavajdk1.8jrelibrt.jar;E:JAVAJAVAmalianxi1JavaSEoutproduction基础语法 com.blue.struct.SwitchDemo02
嘎子

Process finished with exit code 0

在这个地址,打开文件夹

打开以后

class文件打开以后是乱码,所以,要在IDEA中打开,

然后将CLASS文件拷到这个文件夹里,

然后回头看 IDEA中

就可以打开了

反编译文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877841.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号