Java if else用法详解(新手必看)
在 Java 里,由 if 语句引导的选择结构有三种,分别是 if 结构、if else 结构和 if else if结构,本节将带领大家逐个掌握它们。

图 1 if 结构流程
如果语句组只有一条语句,可以省略大括号,但从编程规范角度来看不要省略大括号,省略大括号会使程序的可读性变差。
if 结构示例代码如下:
使用 IntelliJ IDEA 工具运行示例代码时会暂停在代码第 ① 处等待用户输入,如下图所示:
输入整数后按 ‹Enter› 键继续执行,结果如下图所示:
if else 结构流程如下图所示:
首先测试条件表达式,如果值为 true,则执行“语句组1”,如果条件表达式为 false,则忽略“语句组1”而直接执行“语句组2”,然后继续执行后面的语句。
if else 结构示例代码如下:
if else if 结构的流程如下图所示:
if else 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 之间的整数。"); } } }