Java入门教程(16)——条件判断语句

简介: 条件判断语句的使用

@[toc]

1. if结构

1.1 if 单分支结构

  1. 语法结构:

if(布尔表达式){
语句块
}

  1. 实例:掷色子游戏

这里给大家扩展一个Math函数 Math.Random(),该方法用于产生 0 到 1 区间的 double 类型的随机数,但是不包括 1

public class Test01 {
    public static void main(String[] args) {
//通过 Math.random()产生随机数,因为6*Math.random最大不超过6.给他用int强制转型,+1这样产生的最大值就是6,最小值是1.
        int i = (int) (6 * Math.random()) + 1;
        int j = (int) (6 * Math.random()) + 1;
        int k = (int) (6 * Math.random()) + 1;
        int count = i + j + k;
//如果三个骰子之和大于 15,则今天牛呀
        if (count > 15) {
            System.out.println("今天牛呀");
        }
//如果三个骰子之和在 10 到 15 之间,则手气一般,再来一把
        if (count >= 10 && count <= 15) { //错误写法:10<=count<=15
            System.out.println("手气一般,再来一把");
        }
//如果三个骰子之和小于 10,则运气不咋地,回家吃饭吧
        if (count < 10) {
            System.out.println("运气不咋地,回家吃饭吧");
        }

        System.out.println("得到:" + count + "分");
    }
}

执行结果如下图:

在这里插入图片描述

1.2 if-else 双分支结构

  1. 语法结构:

if(布尔表达式){
语句块 1
}else{
语句块 2
}
运算逻辑:当布尔表达式为真时,执行语句块 1,否则,执行语句块 2。也就是 else 部分。

  1. 实例:

这里用圆的面积和周长来给大家演示一下if-else双分支结构

public class HelloWorld {
    public static void main(String[] args) {
//随机产生一个[0.0, 4.0)区间的半径,并根据半径求圆的面积和周长
        double r = 4 * Math.random();
        //Math.pow(r, 2)求半径 r 的平方
        double area = 3.14 * r * r;
        double circle = 2 * Math.PI * r;
        System.out.println("半径为: " + r);
        System.out.println("面积为: " + area);
        System.out.println("周长为: " + circle);
//如果面积>=周长,则输出"面积大于等于周长",否则,输出周长大于面积
        if (area >= circle) {
            System.out.println("面积大于等于周长");
        } else {
            System.out.println("周长大于面积");
        }
    }
}

运行结果如图:

在这里插入图片描述

1.3 if-else if-else 多分支结构

  1. 语法结构:

if(布尔表达式 1) {
语句块 1;
} else if(布尔表达式 2) {
语句块 2;
}……
else if(布尔表达式 n){
语句块 n;
} else {
语句块 n+1;
}
运行逻辑:当布尔表达式 1 为真时,执行语句块 1;否则,判断布尔表达式 2,当布尔表达式 2 为
真时,执行语句块 2;否则,继续判断布尔表达式 3······;如果 1~n 个布尔表达式均判定为假
时,则执行语句块 n+1,也就是 else 部分。

  1. 实例
    各个年龄段的叫法

public class Test03 {

public static void main(String[] args) {
    int age = (int) (100 * Math.random());
    System.out.print("年龄是" + age + ", 属于");

//6岁以下童年,少年,7岁—17岁,青年。 18岁—40岁,中年。 41—65岁,老年。 66岁以后

    if (age < 6) {
        System.out.println("童年!");
    } else if (age < 17) {
        System.out.println("少年!");
    } else if (age < 40) {
        System.out.println("青年!");
    } else if (age < 65) {
        System.out.println("中年, ");
    } else {
        System.out.println("老年");
    }
}

}

运行结果如下:

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/2c9b87c4d8374ff3a7e7826f3f43dcfa.png)
# switch 语句
## switch 多分支结构
1. 语法结构:
switch (表达式) {
case 值 1: 
语句块 1;
[break];
case 值 2:
语句块 2;
[break];
… … … … …
[default:
默认语句块;]
}
2. 实例

//这里我们以一年四季为例
public class TestSwitch02 {

public static void main(String[] args) {
    int month = 2; //1 表示 1 月,2 表示 2 月,....
    switch (month) {
        case 1:
        case 2:
        case 3:
            System.out.println("春季");
            break;
        case 4:
        case 5:
        case 6:
            System.out.println("夏季");
            break;
        case 7:
        case 8:
        case 9:
            System.out.println("秋季");
            break;
        default:
            System.out.println("冬季");
    }
}

}

运行结果如下:

![在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/b4a4a9a08bdc45aa90869c0f00a0d632.png)
相关文章
|
2月前
|
Java C++ 开发者
【技术贴】if-else VS switch:谁才是Java条件判断的王者?
【6月更文挑战第14天】本文探讨了Java中if-else与switch语句的选择问题。if-else基于布尔逻辑,适合处理复杂逻辑,而switch在处理多分支特别是枚举类型时更高效。if-else在条件动态变化或复杂逻辑时更合适,switch则因其跳转表机制在固定选项中表现优秀。性能上,switch在大量选项时占优,但现代JVM优化后两者差异不大。选择时应考虑场景、可读性和维护性,灵活运用。理解两者特点,才能写出优雅高效的代码。
217 0
|
3月前
|
安全 Java 数据库
Spring boot 入门教程-Oauth2,java面试基础题核心
Spring boot 入门教程-Oauth2,java面试基础题核心
|
3月前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
|
3月前
|
Java 大数据 API
[AIGC] Flink入门教程:理解DataStream API(Java版)
[AIGC] Flink入门教程:理解DataStream API(Java版)
|
3月前
|
Java
Java switch case 语句
Java switch case 语句
20 0
|
3月前
|
Java
【Java从入门到精通】Java switch case 语句
【Java从入门到精通】Java switch case 语句
39 0
|
3月前
|
IDE Java API
Lombok入门使用教程及其优缺点详解
Lombok入门使用教程及其优缺点详解
62 0
|
3月前
|
Java 编译器 开发工具
最新IntelliJ IDEA下载安装以及Java环境搭建教程(含Java入门教程)
最新IntelliJ IDEA下载安装以及Java环境搭建教程(含Java入门教程)
283 0
|
11月前
|
NoSQL JavaScript Java
MongoDB 入门教程系列之一:开发环境搭建以及 Node.js 和 Java 的读写访问
MongoDB 入门教程系列之一:开发环境搭建以及 Node.js 和 Java 的读写访问
|
11月前
|
Java Android开发
Java 编译时注解 —— 入门教程
Java 编译时注解 —— 入门教程