和C语言一样,Java 支持两种分支选择语句:if 语句和 switch 语句。其中 if 语句使用布尔表达式或布尔值作为分支条件来进行分支控制,而 switch 语句则用于对多个整型值进行匹配,从而实现分支控制。这些语句允许大家只有在程序运行时才能知道其状态的情况下,控制程序的执行过程。如果大家没有 C/C++ 的编程背景,将会为这两个语句的强大功能和灵活性而感到吃惊。
选择结构(也叫分支结构)解决了顺序结构不能判断的缺点,可以根据一个条件判断执行哪些语句块。选择结构适合于带有逻辑或关系比较等条件判断的计算。例如,判断是否到下班时间,判断两个数的大小等。由于篇幅有限,本节主要介绍 if 语句的各种形式和用法。

一、if 结构

if 语句是使用最多的条件分支结构,它属于选择语句,也可以称为条件语句。if 选择结构是根据条件判断之后再做处理的一种语法结构。默认情况下,if 语句控制着下方紧跟的一条语句的执行。不过,通过语句块,if 语句可以控制多个语句。if 语句的最简语法格式如下,表示“如果满足某种条件,就进行某种处理”。


if (条件表达式) {
语句块;
}

Java基础教程6:if-else分支语句_键盘输入


public static void main(String[] args) {
System.out.println("请输入一个数字:");
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 接收键盘输入数据

// 判断用户输入的数据是否大于100
if (num > 100) {
System.out.println("输入的数字大于100");
}
// 判断用户输入的数据是否等于100
if (num == 100) {
System.out.println("输入的数字等于100");
}
// 判断用户输入的数据是否小于100
if (num < 100) {
System.out.println("输入的数字小于100");
}
}

运行该程序,分别使用键盘输入 90、100 和 108,结果如下所示:Java基础教程6:if-else分支语句_数据_02

完整代码及结果如下图所示:Java基础教程6:if-else分支语句_数据_03单 if 语句仅能在满足条件时使用,而无法执行任何其他操作(停止)。而结合 else 语句的 if 可以定义两个操作,此时的 if-else 语句表示“如果条件正确则执行一个操作,否则执行另一个操作”。使用 if-else 语句的语法格式如下所示:


if (表达式) {
语句块1;
} else {
语句块2;
}

下面举个栗子:编写一个 Java 程序,实现比较 num1 和 num2 的大小,下面使用 if-else 双条件来实现,具体代码如下:


public static void main(String[] args) {
int num1 = 50;
int num2 = 34;

// 如果num1等于num2
if (num1 == num2) {
System.out.println("num1等于num2");
}
// 如果num1大于num2
if (num1 > num2) {
System.out.println("num1大于num2");
} else {
// 否则就是num1小于num2
System.out.println("num1小于num2");
}
}

Java基础教程6:if-else分支语句_数据_04Java基础教程6:if-else分支语句_数据_05Java基础教程6:if-else分支语句_数据_06Java基础教程6:if-else分支语句_数据_07