首页 > 编程笔记 > Java笔记 阅读:25

Java if else用法详解(新手必看)

在 Java 里,由 if 语句引导的选择结构有三种,分别是 if 结构、if else 结构和 if else if结构,本节将带领大家逐个掌握它们。

Java if结构

if 结构的语法格式如下:
if(条件表达式){
    语句组
}
if 结构流程如下图所示,首先测试条件表达式,如果为 true,则执行“语句组”(包含一条或多条语句的代码块),否则就执行 if 语句结构后面的语句。


图 1 if 结构流程

如果语句组只有一条语句,可以省略大括号,但从编程规范角度来看不要省略大括号,省略大括号会使程序的可读性变差。

if 结构示例代码如下:
import java.util.Scanner; // 导入 Scanner 类

public class Main {
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in); // 创建 Scanner 对象用于读取控制台输入

       System.out.print("请输入考试分数: "); // 提示用户输入分数
       int score = in.nextInt(); // ① 读取用户输入的整数
      
       if (score >= 60) { // 判断分数是否大于等于60
           System.out.println("考试通过"); // 输出考试通过
       }
   }
}
在这个示例中使用 Scanner 类来读取用户输入的整数,并将其存储在 score 变量中。然后使用 if 结构来判断 score 是否大于等于 60,如大于等于 60,则输出“考试通过”。

使用 IntelliJ IDEA 工具运行示例代码时会暂停在代码第 ① 处等待用户输入,如下图所示:


输入整数后按 ‹Enter› 键继续执行,结果如下图所示:

Java if else结构

if else 结构的语法格式如下:
if(条件表达式1){
    语句组1
}else{
    语句组2
}

if else 结构流程如下图所示:


首先测试条件表达式,如果值为 true,则执行“语句组1”,如果条件表达式为 false,则忽略“语句组1”而直接执行“语句组2”,然后继续执行后面的语句。

if else 结构示例代码如下:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
       System.out.print("请输入考试分数:");
       int score = in.nextInt();
       if (score >= 60) {
           System.out.println("考试通过");
       } else {
           System.out.println("考试不通过");
        }
    }
}
上述代码与前面的实例类似,这里不再赘述。

Java if else if结构

如果有多个分支,可以使用 if else if 结构,它的的语法格式如下:
if(条件表达式1){
    语句组1
}else if(条件表示2){
    语句组2
}else if(条件表示3){
    语句组3
}
...
else if(条件表达式n){
    语句组n
}

if else if 结构的流程如下图所示:


if else if 结构实际上是 if else 结构的多层嵌套,它明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。

if else if 结构示例代码如下:
import java.util.Scanner;

public class GradeCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入学生的分数:");
        int score = scanner.nextInt();
       
        if (score >= 90 && score <= 100) {
            System.out.println("学生的等级是:A");
        } else if (score >= 80 && score < 90) {
            System.out.println("学生的等级是:B");
        } else if (score >= 70 && score < 80) {
            System.out.println("学生的等级是:C");
        } else if (score >= 60 && score < 70) {
            System.out.println("学生的等级是:D");
        } else if (score >= 0 && score < 60) {
            System.out.println("学生的等级是:F");
        }else {
            System.out.println("输入的分数无效,请输入 0 到 100 之间的整数。");
        }
    }
}

相关文章