码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 非零基础自学Java (老师:韩顺平) 第5章 程序控制结构 5.5 嵌套分支 && 5.6 switch分支结构


    非零基础自学Java (老师:韩顺平)

    ✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】

    第5章 程序控制结构

    文章目录

        • 非零基础自学Java (老师:韩顺平)
        • 第5章 程序控制结构
          • 5.5 嵌套分支
            • 5.5.1 基本介绍
            • 5.5.2 基本语法
            • 5.5.3 举个栗子
          • 5.6 switch分支结构
            • 5.6.1 基本语法
            • 5.6.2 switch流程图
            • 5.6.3 举个栗子
            • 5.6.4 switch注意事项和细节讨论
            • 5.6.6 switch和if的比较

    5.5 嵌套分支
    5.5.1 基本介绍

    在一个分支结构中又完整的嵌套了另一个完整的分支结构,里面的分支的结构称为内层分支外面的分支结构称为外层分支。【韩老师建议不超过3层,可读性不好】

    5.5.2 基本语法
    if(){
        if(){
            //if-else...
        }
        else{
            //if-else
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    5.5.3 举个栗子

    参加歌手比赛,如果初赛成绩大于 8.0 进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。

    import java.util.Scanner;
    
    /**
     * ClassName: NestedIf
     * date: 2022/8/31 13:41
     *
     * @author DingJiaxiong
     */
    
    public class NestedIf {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入该歌手的成绩:");
    
            double score = scanner.nextDouble();
            if (score > 8.0){
                System.out.println("请输入性别:");
                char gender = scanner.next().charAt(0);
                if (gender == '男'){
                    System.out.println("进入男子组");
                }else if(gender == '女'){
                    System.out.println("进入女子组");
                }
                else{
                    System.out.println("性别有误,不能参加决赛");
                }
            }
            else{
                System.out.println("您已被淘汰");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    运行结果

    在这里插入图片描述

    5.6 switch分支结构
    5.6.1 基本语法
    switch(表达式){
        case 常量1:
        	语句块1;
        	break;
        case 常量2:
        	语句块2;
        	break;
        	...
        case 常量n:
        	语句块n;
        	break;
        default:
        	default语句块;
        	break;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    1.switch关键字,表示swtich分支

    2.表达式对应一个值

    3.case常量1:当表达式的值等于常量1,就执行语句块1

    4.break :表示退出swtich

    5.如果和case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case常量2

    6.如果一个都没有匹配上,执行default

    5.6.2 switch流程图

    在这里插入图片描述

    5.6.3 举个栗子
    import java.util.Scanner;
    
    /**
     * ClassName: Switch01
     * date: 2022/8/31 13:49
     *
     * @author DingJiaxiong
     */
    
    public class Switch01 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个字符(a-c)");
            char c1 = scanner.next().charAt(0);
    
    
            switch (c1){
                case 'a':
                    System.out.println("今天星期一");
                    break;
                case 'b':
                    System.out.println("今天星期二");
                    break;
                case 'c':
                    System.out.println("今天星期三");
                    break;
                default:
                    System.out.println("输入的字符不正确,没有匹配的");
            }
    
            System.out.println("退出了switch");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    运行结果

    在这里插入图片描述

    5.6.4 switch注意事项和细节讨论
    • 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型,比如输入的是字符,而常量是int

    • switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum[枚举],String)

      在这里插入图片描述

    • case子句中的值必须是常量,而不能是变量

    • default子句是可选的,当没有匹配的case时,执行default

    • break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写break,程序会顺序执行到switch结尾,除非遇到break;

    5.6.6 switch和if的比较
    1. 如果判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这 6 种类型。虽然两个语句都可以使用,建议使用 swtich 语句。
    2. 其他情况:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广
  • 相关阅读:
    Docker入门指南:基于 docker 搭建机器学习/深度学习开发环境
    计网第四章(网络层)(八)(最短路径优先协议OSPF)
    SpringCloud-Feign
    电力电子转战数字IC20220725day56——寄存器模型
    netty系列之:kequeue传输协议详解
    .NET中的Object类学习3_MemberwiseClone方法
    Usenix Security 2022 FIXREVERTER A Realistic Bug Injection Methodology for
    Logback的使用
    强化学习的智能体概念与代码实例
    vue3项目的创建、入口文件、全局方法、生命周期函数、setup中的生命周期函数使用、data的函数方式
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126826219
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号