java se 回顾 (三)

本文介绍了Java编程中两种常用的条件分支结构:if和switch。通过实例展示了如何使用if...else和switch...case来实现条件判断,分别对应值匹配和范围匹配的情况。在if语句中,强调了其与else和elseif的搭配使用规则,而在switch语句中,解释了匹配流程和break语句的作用。此外,还提到了switch语句的穿透性现象及其影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、if分支
根据判定的结果(真或假)决定执行某个分支的代码

if分支格式:
在这里插入图片描述

package com.study.branch;

import java.util.Scanner;

public class IfDemo01 {

    public static void main(String[] args) {

        //使用if分支结构解决问题
        //需求:心跳60-100之间是正常的,否则提示进一步检查

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的心跳:");
        int heart = sc.nextInt();
        if (heart >= 60 && heart <= 100) {

            System.out.println("你是正常的");
        } else {
            System.out.println("你需要进一步检查");
        }


    }
}

package com.study.branch;

import java.util.Scanner;

public class IfDemo02 {
    public static void main(String[] args) {

        //实现成绩等级判定(0-100)
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int score = sc.nextInt();
        if (score >= 90 && score < 100) {
            System.out.println("优");
        } else if (score >= 80 && score < 90) {
            System.out.println("良");
        } else if (score >= 60 && score < 80) {
            System.out.println("中");

        } else if (score >= 0 && score < 60) {
            System.out.println("差");
        } else {
            System.out.println("你输入的成绩有误,请重新输入");
        }


    }

}

总结:if 语句后面可以跟 else if…else 语句,这种语句可以检测到多种可能的情况。使用 if,else if,else 语句的时候,需要注意下面几点:
1.if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后。
2.if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
3.一旦其中一个 else if 语句检测为 true,其他的 else if 以及 else 语句都将跳过执行。

二、switch分支
匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好。switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

执行流程:
1.先执行表达式的值,拿着这个值去与case后的值进行匹配。
2.匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
3.如果case后的值都不匹配则执行default代码。

package com.study.branch;

import java.util.Scanner;

public class SwitchDemo {

    public static void main(String[] args) {

        //使用switch分支结构判定成绩
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的成绩等级(A、B、C、D、F):");
        String grade = sc.next();
        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;

            default:
                System.out.println("未知等级");


        }
        System.out.println("你的等级是" + grade);

    }

}

注意:如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。eg:

package com.study.branch;

public class SwitchDemo2 {

    public static void main(String[] args) {
        //switch语句的穿透性
        int i = 1;
        switch (i) {
            case 0:
                System.out.println("0");
            case 1:
                System.out.println("1");
            case 2:
                System.out.println("2");
            default:
                System.out.println("default");

        }
    }


}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值