JavaSE从零学起7. 选择结构、if单选择结构、if双选择结构、if多选择结构、嵌套的If结构、Switch选择结构

本文详细介绍了Java编程中的选择结构,包括if单选择、if双选择、if多选择、嵌套if和Switch选择结构。通过实例展示了如何根据条件执行不同代码块,并解释了各个结构的使用场景和注意事项。特别地,强调了switch语句在处理多选择时的作用及其与if语句的区别。
摘要由CSDN通过智能技术生成

选择结构

if单选择结构

我们很多时候需要去判断一个东西是否可行,确认可行后才去执行,这样一个过程在程序中用if语句来表示。

语法:

if(boolean表达式){
  //boolean为ture将执行的语句
}

下面来看一个简单的例子:

public class IfDemo01 {
    public static void main(String[] args) {
        System.out.println("Please enter your word.");
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String a = "Hello World";

        //equals:判断字符串是否相等
        if(s.equals(a)){
            System.out.println(s);
        }
        System.out.println("It is end");
        scanner.close();
    }
}

输出结果1Please enter your word.
Hello World
Hello World
It is end

    
    输出结果2Please enter your word.
sadas
It is end

if双选择结构

语法:

if(boolean表达式){
    //boolean表达式为true
}else{
    //boolean表达式为false
}

看一个简单的例子:

/**
 * @ClassName IfDemo02
 * @Description 考试分数大于60位及格,小于60为不及格
 * @Author 
 * @Date 2021/5/31 21:15
 * @Version 1.0
 **/
public class IfDemo02 {
    public static void main(String[] args) {
        System.out.println("Please enter your score.");
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();
        int standard = 60;



        if(score>=standard){
            System.out.println("Pass");
        }else {
            System.out.println("No pass");
        }
        scanner.close;

    }
}

输出结果1Please enter your score.
59
No pass
输出结果2Please enter your score.
70
No Pass

if多选择结构

生活中很多场景不仅仅只有两个选择,所以我们需要一个多选择结构来处理这类问题。

语法:

if(boolean表达式1){
    //boolean表达式1的值为true执行代码
}else if(boolean表达式2){
    //boolean表达式2的值为true执行代码
}else if(boolean表达式3{
    //boolean表达式3的值为true执行代码
}else{
    //以上boolean表达式的值都是false,则执行该代码
}
public class IfDemo03 {
        public static void main(String[] args) {
            System.out.println("Please enter your score.");
            Scanner scanner = new Scanner(System.in);
            int score = scanner.nextInt();
            int standard = 60;



            if (score>0&&score<standard){
                System.out.println("No pass");
            }else if (score>=standard&&score<70){
                System.out.println("Level D");
            }else if (score>=70&&score<80){
                System.out.println("Level C");
            }else if (score>=80&&score<90){
                System.out.println("Level B");
            }else if (score>=90&&score<100){
                System.out.println("Level A");
            }else if (score==100){
                System.out.println("Congrarulations!");
            }else{
                System.out.println("Invalid score");
            }
            scanner.close();

        }
    }

输出结果:
Please enter your score.
85
Level B

注意事项:

  1. if语句至多有1个else语句,else语句在所有的else if语句之后
  2. if语句可以有若干个else if语句,它们必须在else语句之前。
  3. 一旦其中一个else if语句检测为true,其他的else if语句都将跳过执行。

嵌套的If结构

你可以在另一个if或者else if语句中使用if或者else if语句。

语法:

if(boolean表达式1){
    //boolean表达式1的值为true则执行该代码
if(boolean表达式2)
    boolean表达式2的值为true则执行该代码
  }
}

举例:

public class IfDemo04 {
    public static void main(String[] args) {
        System.out.println("Please enter the number.");
        Scanner scanner = new Scanner(System.in);
        int number1 = scanner.nextInt();
        int number2 = scanner.nextInt();

        /*要求输入两个都大于50的数*/
        if (number1 > 50) {
            if (number2 > 50) {
                System.out.println("number1>50 and number2>50");
            }else {
                System.out.println("number1>50 but number2 <= 50");
            }
        }else{
            System.out.println("number1 <= 50");
        }
    }
}

输出结果:
Please enter the number.
60 
60
number1>50 and number2>50

Switch选择结构

多选择结构还有一个实现方式是switch case语句。

switch case语句判断一个变量与一系列值中某个值是否相等。每个值成为一个分支。

基本语法:

switch(expression){
    case value1 :
        //语句
        break;//可选
        case value2 :
         break;//可选
        //可以有任意数量的case语句
        default : //可选
        //语句
}
  • switch语句中的变量类型可以是: byte、short、int、char.

  • 从JDK7开始switch字段支持字符串String类型了。

  • 同时case标签必须为字符串常量或字面量。


public class SwitchDemo01 {
    public static void main(String[] args) {
        //case 穿透 switch:匹配一个具体的值
        String name = "David";
        // JDK7新特性:表达式结果可以是字符串!!!
        //字符的本质还是数字。通过hashcode来比较。

        //反编译: java---class(字节码文件)——反编译(IDEA)

        switch (name){
            /*若没有break则会将下面的语句全部输出,无法实现匹配到一个具体的值。
            * 称为case穿透现象*/
            case "Tim":
                System.out.println("Tim");
                break;

            case "Tom":
                System.out.println("Tom");
                break;

            case "David":
                System.out.println("David");
                break;
                //无以上匹配值,则输出default里的语句
            default:
                System.out.println("Invalid Name");
        }

    }
}

输出结果:
David
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Clap of thunder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值