Java的if语句 | 您所在的位置:网站首页 › java的if语句格式 › Java的if语句 |
if 结构 if 语句是使用最多的条件分支结构。 if 语句的最简语法格式如下,表示“如果满足某种条件,就进行某种处理”。 if (条件表达式) { 语句块; } 其中“条件表达式”和“语句块”是比较重要的两个地方。 条件表达式:条件表达式可以是任意一种逻辑表达式,最后返回的结果必须是一个 布尔值。如果条件为真,那么执行语句块;如果条件为假,则语句块将被绕过而不被执行 。 语句块:该语句块可以是一条语句也可以是多条语句。如果仅有一条语句,可省略 条件语句中的大括号 {}。当从编程规范角度不要省略大括号,省略大括号会使程序的可读 性变差。 if 条件语句的运行流程如图 1 所示。 图 1 if 语句执行流程图 例 1 假设有 num1 和 num2 两个变量,它们的值分别是 50 和 34。下面编写程序,要求使用 if语句判断 num1 和 num2 的大小关系,并输出比较结果。 实现代码如下: public static void main(String[] args) { int num1 = 50; int num2 = 34; if (num1 > num2) { System.out.println("num1 大于 num2"); } if (num1 == num2) { System.out.println("num2 等于 num2"); } if (num1 < num2) { System.out.println("num1 小于 num2"); } } 该段选择语句判断了 num1 值和 num2 值的大于、等于和小于关系。此处 num1 为 50, num2 为 34,所以执行后会输出“num1 大于 num2”。 if-else 结构 单 if 语句仅能在满足条件时使用,而无法执行任何其他操作(停止)。而结合 else 语句的if 可以定义两个操作,此时的 if…else 语句表示“如果条件正确则执行一个操作,否则执行另一个操作”。 使用 if…else 语句的语法格式如下所示: if (表达式) { 语句块 1; } else { 语句块 2; } 在上述语法格式中,如果 if 关键字后面的表达式成立,那么就执行语句块 1,否则的话则执行语句块 2,其运行流程如图 2 所示。 图 2 if…else 运行流程 例 2 在例 1 中为实现比较 num1 和 num2 的大小,使用了 3 个 if 条件语句分别判断大于、等于和小于的情况。下面使用 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"); } } 双条件语句减少了代码的编写量,同时增强了程序的可读性。简化后的结果还是一样,执 行后会输出“num1 大于 num2”。 多条件 if-else-if 语句 if 语句的主要功能是给程序提供一个分支。然而,有时候程序中仅仅多一个分支是远远不 够的,甚至有时候程序的分支会很复杂,这就需要使用多分支的 if…else if 语句。 通常表现为“如果满足某种条件,就进行某种处理,否则如果满足另一种条件才执行另一 种处理……,这些条件都不满足则执行最后一种条件”。 if…else if 多分支语句的语法格式如下所示: if(表达式 1) { 语句块 1; } else if(表达式 2) { 语句块 2; ... } else if(表达式 n) { 语句块 n; } else { 语句块 n+1; } 可以看出,else-if 结构实际上是 if-else 结构的多层嵌套。明显的特点就是在多个分支中只执行一个语句组,而其他分支都不执行,所以这种结构可以用于有多种判断结果的分支中。 在使用 if…else if 语句时,依次判断表达式的值,当某个分支的条件表达式的值为 true 时,则执行该分支对应的语句块,然后跳到整个 if 语句之外继续执行程序。如果所有的表达式均为 false,则执行语句块 n+1,然后继续执行后续程序,其运行流程如图 3 所示。 图 3 if…else if 语句的执行流程 例 3 同样以比较 num1 和 num2 的大小为例,使用 if…else if 多条件的实现代码如下: public static void main(String[] args) { int num1 = 50; int num2 = 34; if (num1 == num2) { // 如果 num1 等于 num2 System.out.println("num1 等于 num2"); } else if (num1 > num2) { // 如果 num1 大于 num2 System.out.println("num1 大于 num2"); } else { // 否则就是小于 System.out.println("num1 小于 num2"); } } 如上述代码所示,num1 和 num2 不满足 if 语句的“num1==num2”条件,接着测试 else if 的“num1>num2”条件,满足该条件并输出“num1 大于 num2”。 嵌套 if 的使用 if 语句的用法非常灵活,不仅可以单独使用,还可以在 if 语句里嵌套另一个 if 语句。同样,if…else 语句和 if…else if 语句中也可以嵌套另一个 if 结构的语句,以完成更深层次的判断。 嵌套 if 的语法格式如下: if(表达式 1) { if(表达式 2) { 语句块 1; } else { 语句块 2; } } else { if(表达式 3) { 语句块 3; } else if(表达式 4) { 语句块 4; } else { if(表达式 n) { 语句块 n; } else { 语句块 n+1; } } } 在上述格式中,应该注意每一条 else 与离它最近且没有其他 else 对应的 if 相搭配,其执行流程如图 4 所示。 图 4 嵌套 if 语句执行流程 例 7 活动计划安排,如果今天是工作日,去上班;如果今天是周末,则出去游玩;同时,如果 周末天气晴朗,去室外游乐场游玩,否则去室内游乐场游玩。实现代码如下: public static void main(String[] args) { String today = "周末"; String weather = "晴朗"; if (today.equals("周末")) { if (weather.equals("晴朗")) { System.out.println("去室外游乐场游玩"); } else { System.out.println("去室内游乐场游玩"); } } else { System.out.println("去上班"); } } 如上述代码所示,today 满足 if 语句的“today.equals("周末")”条件,接着测试 weather 是否满足“weather.equals("晴朗")”条件,满足该条件输出“去室外游乐场游玩”。 |
CopyRight 2018-2019 实验室设备网 版权所有 |