JAVA基础知识之选择结构

if-else结构

package com.lzy.javase.day05;
import org.junit.jupiter.api.Test;
/**
 * @author lzy
 * @version 1.0.0 2022/4/12 09:26
 */
public class IfTest {
    @Test
    public void test01() {
        // 需求:如果今天下雨那么我们今天就不上课
        // 分析:如果(今天下雨) 今天下雨是条件 条件满足 执行不上课
        // 程序:if(布尔值){代码} if(boolean){code}
        // boolean结果为true执行code boolean结果为false不执行code
        boolean rain = false;
        if (rain) {
            System.out.println("今天不上课");
        }
        System.out.println("程序执行结束");
    }
    @Test
    public void test02() {
        // 需求:如果今天下雨那么我们今天就不上课
        // 分析:如果(今天下雨) 今天下雨是条件 条件满足 执行不上课
        // 程序:if(布尔值){代码}else{代码}
        // if(boolean){A}else{B}
        // boolean结果为true执行A boolean结果为false执行B
        // 世界上最遥远的距离不上是生与死 而是我站在你面前你却不知道我爱你
        // 世界上最遥远的距离不上是我站在你面前你不知道我爱你 而是我在if代码块你却在else代码块中
        boolean rain = true;
        if (rain) {
            System.out.println("今天不上课");
        } else {
            System.out.println("今天上课");
        }
        System.out.println("程序执行结束");
    }
    @Test
    public void test03() {
        // 需求:
        // 如果gender的值为true则sex的值为 精神小伙儿
        // 如果gender的值为false则sex的值为 扒蒜老妹儿
        boolean gender = false;
        String sex;
        if (gender) {
            sex = "精神小伙儿";
        } else {
            sex = "扒蒜老妹儿";
        }
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");
    }
    @Test
    public void test04() {
        // 需求:
        // 如果gender的值为true则sex的值为 精神小伙儿
        // 如果gender的值为false则sex的值为 扒蒜老妹儿
        boolean gender = false;
        String sex = gender == true ? "精神小伙儿" : "扒蒜老妹儿";
        System.out.println("性别 >>> " + sex);
        System.out.println("程序执行结束");
    }
}

switch结构 

使用test01和02的多重if选择结构比较复杂和啰嗦,现在可以使用switch结构来解决问题,switch解决的是等值判断。

如何使用:

1.常量名不可重复

2.每一个case后面要有break结束语

3.default可以在任何位置,除了在最后break可以省略在其他位置都不可省略,建议都放在最后

4.switch后面的表达式类型只能是int byte short char 枚举 和jdk1.7以后的String

5.case后面的常量不是一定要连续的

6.表达式是哪个就会跳转到相对应的case语句

package com.lzy.javase.day05;

import org.junit.jupiter.api.Test;

import java.util.Random;

/**
 * @author lzy
 * @version 1.0.0 2022/4/12 10:56
 */
public class SwitchTest {
    @Test
    public void test01() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        if (i == 0) {
            System.out.println("星期日");
        }
        if (i == 1) {
            System.out.println("星期一");
        }
        if (i == 2) {
            System.out.println("星期二");
        }
        if (i == 3) {
            System.out.println("星期三");
        }
        if (i == 4) {
            System.out.println("星期四");
        }
        if (i == 5) {
            System.out.println("星期五");
        }
        if (i == 6) {
            System.out.println("星期六");
        }
        System.out.println("程序执行结束");
    }

    @Test
    public void test02() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        if (i == 1) {
            System.out.println("星期一");
        } else if (i == 2) {
            System.out.println("星期二");
        } else if (i == 3) {
            System.out.println("星期三");
        } else if (i == 4) {
            System.out.println("星期四");
        } else if (i == 5) {
            System.out.println("星期五");
        } else if (i == 6) {
            System.out.println("星期六");
        } else {
            System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

    @Test
    public void test03() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            case 1:
                System.out.println("星期一");
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            case 6:
                System.out.println("星期六");
            default:
                System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }

    @Test
    public void test04() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            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;
            default:
                System.out.println("星期日");
                break;
        }
        System.out.println("程序执行结束");
    }

    @Test
    public void test05() {
        // 需求:
        // 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
        // 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
        Random random = new Random();
        int i = random.nextInt(7);
        System.out.println(i);
        switch (i) {
            case 1 -> System.out.println("星期一");
            case 2 -> System.out.println("星期二");
            case 3 -> System.out.println("星期三");
            case 4 -> System.out.println("星期四");
            case 5 -> System.out.println("星期五");
            case 6 -> System.out.println("星期六");
            default -> System.out.println("星期日");
        }
        System.out.println("程序执行结束");
    }
}

比较switch和多重if选择结构 

相同点:
都是用来处理多分支条件的结构

不同点:
switch结构:只能处理等值条件判断的情况

多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况

选择结构总结:

基本if选择结构: 处理单一或者组合条件的情况

if-else选择结构:处理简单的条件分支情况

多重if选择结构:处理复杂的条件分支情况

嵌套if选择结构:用于较为复杂的流程控制

switch选择结构:多重分支并且条件判断是等值判断的情况。

处理系统异常:

switch结构中我们常常输入的是int类型的值,但是用户不知道,可能会输入其他类型的值,这样的话就会报出输入类型不匹配的异常,为了避免这种情况的出现,我们可以在最开始的时候对其进行判断和限制

方法如下:

if(input.hasNextInt()){
  //这里是相关的seitch语句

}else{
//如果输入的不是数字
  System.out.println("请输入正确的数字");
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值