Java选择结构——if语句

1.if单选结构

我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示。
在这里插入图片描述
equals:判断字符串是否相等,比==更加安全

package com.wang.struct;

import java.util.Scanner;

//选择结构:---if单选结构---
public class Demo02 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入内容:");
        String s = scanner.nextLine();  //接收字符串

        //equals:判断字符串是否相等,比==更加安全
        if (s.equals("Hello")) {
            System.out.println(s);
        }
        //按照顺序结构执行以下程序
        System.out.println("End");
        scanner.close();
    }
}

结果:
在这里插入图片描述
在这里插入图片描述

2.if双选结构

现在有一个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if搞不定,需要一个双选结构,所以就有了if-else结构。
在这里插入图片描述

package com.wang.struct;

import java.util.Scanner;

//选择结构:---if双选结构---
public class IfDemo03 {
    public static void main(String[] args) {
     //考试分数大于等于60就是及格,小于60分就不及格。

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入成绩:");

        int score = scanner.nextInt();
        if (score>=60){
            System.out.println("pass a exam!");
        }else {
            System.out.println("fail!");
        }

        scanner.close();

    }
}

结果:
在这里插入图片描述

3.if多选结构

真实的选择还可能包括A,B,C,D多种情况,存在区间多级判断。比如>=90分为优秀。89-80为良好,70-60为及格,<=59为不及格。所以我们需要一个多选择结构来处理这类问题!在多选结构中只要有一个if条件满足了,该语句就结束了,不会执行其他的if语句。在做多种选择的时候,写程序时必须要严谨,考虑好每一种情况。

  • if 语句最多有1个else语句,else语句在所有的else if 语句之后。
  • if 语句可以有多个else if 语句,else if 语句必须在else语句之前。
  • 一旦其中一个else if 语句被检测为true,其他的else if 以及 else语句都将跳过执行。
    在这里插入图片描述
package com.wang.struct;

import java.util.Scanner;

public class IfDemo04 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter score: ");

        int score = scanner.nextInt();
        /*
        if 语句最多有1个else语句,else语句在所有的else if语句之后。
        if语句可以有多个else if 语句,else if 语句必须在else语句之前。
        一旦其中一个else if语句被检测为true,其他的else if以及 else语句都将跳过执行。
         */

        if (score == 100) {
            System.out.println("满分");
        } else if (score < 100 && score >= 90) {
            System.out.println("优秀");
        }else if (score < 90 && score >= 70) {
            System.out.println("良好");
        }else if (score < 70 && score >= 60) {
            System.out.println("合格");
        }else if (score < 60 && score >= 0) {   //必须要严谨
            System.out.println("不合格");
        } else {
            System.out.println("成绩不合法");
        }
    }
}

结果:
在这里插入图片描述

4.嵌套的if结构

嵌套if…else语句是合法的。你可以在另一个if或者else if语句中再嵌套if或者else if语句。
在这里插入图片描述

package com.wang.struct;

import java.util.Scanner;

public class IfDemo05 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个1-100之间的数字:");
        double a = scanner.nextDouble();

        //嵌套if else 二分法的方式判断数值所在的范围
        if (a> 50 && a <= 100) {
            System.out.println("该数字位于50-100之间");
            if (a > 75 && a <= 100) {
                System.out.println("该数字位于75-100之间");
            }else {
                System.out.println("该数字位于50-75之间");
            }
        }else if (a>0 && a<=50){
            System.out.println("该数字位于0-50之间");
            if (a > 0 && a <= 25) {
                System.out.println("该数字位于0-25之间");
            }else {
                System.out.println("该数字位于25-50之间");
            }
        }else {
            System.out.println("该数字不合法");
        }
        scanner.close();
    }
}

结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值