选择语句

选择语句也称之为判断语句,主要有2种写法,一种是if语句,一种是switch语句。下面我们就详细的介绍一下这2种语句的用法。

判断语句if

  • if语句第一种形式: if
格式:

执行流程
  • 首先判断关系表达式看其结果是true还是false
  • 如果是true就执行语句体
  • 如果是false就不执行语句体

执行流程如下图所示

代码举例

package MyCode;

public class Demo01If {
    public static void main(String[] args) {
        //定义3个变量
        int a = 1;
        int b = 2;
        int c = 1;
        //关系表达式判断true还是false
        if (a == b) {
            System.out.println("a == b");
        }
        if (a == c) {
            // 大括号里的是代码体,关系表达式为true执行
            System.out.println("a == c");
        }
        System.out.println("其他语句");
    }
}

代码执行后的结果

  • if语句第二种形式: if...else 
格式:

执行流程
  • 首先判断关系表达式看其结果是true还是false
  • 如果是true就执行语句体1
  • 如果是false就执行语句体2

代码执行流程如下图所示

代码举例

package MyCode;

public class DemoIfElse {
    public static void main(String[] args) {
        // 判断给定的数据是奇数还是偶数
        // 定义变量
        int i = 22;
        //判断关系表达式看其结果是true还是false
        if (i % 2 == 0) {
            //true就执行if后面大括号里的代码
            System.out.println("余数为0,偶数");
        } else {
            //false 就执行else后面大括号里代码
            System.out.println("余数不为0,奇数");
        }
    }
}

代码执行后的结果

  • if语句第三种形式: if...else if ...else 
格式:

执行流程
  • 首先判断关系表达式1看其结果是true还是false
  • 如果是true就执行语句体1,后面的关系表达式及语句体不在执行。
  • 如果是false就继续判断关系表达式2看其结果是true还是false
  • 如果是true就执行语句体2,后面的关系表达式及语句体不在执行。
  • 如果是false就继续判断关系表达式…看其结果是true还是false
  • 如果没有任何关系表达式为true,就执行语句体n+1。

代码执行流程如下图所示

代码举例

package MyCode;

public class DemoIfElseExt {
    /*
    指定考试成绩,判断学生等级
     90-100 优秀
     80-89 好
     70-79 良
     60-69 及格
      60以下 不及格
     */
    public static void main(String[] args) {
        int score = 100;
        if (score < 0 || score > 100) {
            System.out.println("你的成绩是错误的");
        } else if (score >= 90 && score <= 100) {
            System.out.println("你的成绩属于优秀");
        } else if (score >= 80 && score < 90) {
            System.out.println("你的成绩属于好");
        } else if (score >= 70 && score < 80) {
            System.out.println("你的成绩属于良");
        } else if (score >= 60 && score < 70) {
            System.out.println("你的成绩属于及格");
        } else {
            System.out.println("你的成绩属于不及格");
        }
    }
}

代码执行后的结果

if语句和三元运算符的互换

在某些简单的应用中,if语句是可以和三元运算符互换使用的。 例如:求几个数字的最大值

选择语句switch

格式:

执行流程
  • 首先计算出表达式的值
  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉

代码执行流程如下图所示

代码举例

public class Demo07Switch {
    public static void main(String[] args) {
        //定义变量,判断是星期几
        int num = 4;
        //switch语句实现选择
        switch (num) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            case 6:
                System.out.println("星期六");
                break;
            case 7:
                System.out.println("星期日");
                break;
            default:
                System.out.println("数据不合理");
                break; // 最后一个break语句可以省略,但是强烈推荐不要省略
        }
    }
}

代码执行后的结果

switch语句使用的注意事项:

  • 多个case后面的数值不可以重复。
  • switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int    引用数据类型:String字符串、enum枚举
  • switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。
  • 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束

Java流程控制之选择语句的更多相关文章

  1. JAVA 流程控制之选择语句

    在程序设计时,有三种基本技术可以改变程序的流程控制: 调用方法: 选择: 循环. 在这里,我们主要来讲讲选择语句. JAVA中的选择语句与C语言中的基本相同,包括: if 语句: if/else 语句 ...

  2. 038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结

    038 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 05 案例演示switch结构-星期的表示案例以及总结 本文知识点:案例演示switch结构并对sw ...

  3. 037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构

    037 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 04 switch结构 本文知识点:Java中的switch结构 选择结构分类 选择结构只有如下2种 ...

  4. 036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构

    036 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 03 嵌套if结构 本文知识点:Java中的嵌套if结构 什么是嵌套if结构? 概念: 嵌套if结构 ...

  5. 035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构

    035 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 02 多重if结构 本文知识点:Java中的多重if结构 选择结构回顾 if选择结构 注意: 1.条 ...

  6. 034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述

    034 01 Android 零基础入门 01 Java基础语法 04 Java流程控制之选择结构 01 流程控制概述 本文知识点:Java中的流程控制相关概念的认识 三大流程控制语句结构的简介 顺序 ...

  7. 初识JAVA——流程控制之if语句

    if语句的流程控制主要分为3种:1,单分支结构:if(){……}: 2,双分支结构:if(){……}else{……}; 3,多分枝结构:if(){……}else if(){……}…… 其中作为if语句 ...

  8. Java流程控制之循环语句

    循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将 ...

  9. Java流程控制:选择结构

    一.选择结构 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程. Java中选择结构的语法主要分为'if...else'语句和'switch...case'语句. Java中选择结构语句在语 ...

随机推荐

  1. GitLab-怎样使用GitLab托管项目

    场景 Docker Compose部署GitLab服务,搭建自己的代码托管平台(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/det ...

  2. NuGet修改默认包保存的位置

    NuGet默认的全局包下载地址一般为:C:\Users\{username}\.nuget\packages 修改方法: <?xml version="1.0" encodi ...

  3. Docker动态添加端口,不需要重新建立镜像

    Docker容器在运行期间有时可能会需要修改或者添加暴露的端口,但是有时候运行的容器又不想再另外建立一个新的镜像.这时可以找到docker容器的存放地方,然后直接修改配置文件. 我们的容器都是保存在/ ...

  4. Maven详解(非原创)

    文章大纲 一.maven功能介绍二.maven整合javaweb案例三.私服应用(了解)四.总结五.相关资料下载六.参考文章 一.maven功能介绍 1. maven基本介绍   Maven的Apac ...

  5. 并发编程~~~协程~~~greenlet模块, gevent模块

    一 协程 1. 协程: 单线程下的并发,又称微线程,纤程.协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的. 并发真正的核心: 切换并且保持状态. 开启协程并发的执行,自己的程序把控着C ...

  6. c#中的跳转语句

    break:跳出循环,执行循环外的语句:continue:跳出此次循环,进入下一次循环: goto:不建议使用 return:终止它所在的方法的执行,并将控制权返回给调用方法.

  7. 你必须知道的Dockerfile

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.关于Dockerfile 在Docker中创建镜像最常用的方式,就是使用D ...

  8. Python中容易忽视的知识点

    今天坐在实验室,觉得有点无聊,想了下,很久没写博客了,就来写一点,正好遇到了一个有意思的小问题,分享给大家. 首先我们通过一个小的实验来看一下内容: 不管是 Python2 还是 Python3 环境 ...

  9. 解决“var/log/sysstat/sa21: 没有那个文件或目录 请检查是否允许数据收集”

    想使用sar查看一些系统的一些活动信息,发现报错.记录一下 使用apt install sysstat后第一次 报错 /var/log/sysstat/sa21: 没有那个文件或目录 请检查是否允许数 ...

  10. @Import与@ImportResource注解的解读

    前言 在使用Spring-Cloud微服务框架的时候,对于@Import和@ImportResource这两个注解想必大家并不陌生.我们会经常用@Import来导入配置类或者导入一个带有@Compon ...