一、为什么要用 if 语句
在上一篇讲到了最基本的顺序结构,顺序结构是程序中最简单、最基本的流程控制,按照代码的先后顺序,依次执行。
但有时代码块需要根据指定的条件来执行,比如:
今天如果要下雨,就需要带伞。
我如果没钱了,就需要去赚钱。
…
在 Java 中也是这样,只是说 if 语句
能够较简易的表达这个 如果
条件。
一、基础 if 语句
基本语法如下:
if (关系表达式) { 语句体; }
样例如下:
import java.util.Objects; public class Main { public static void main(String[] args) { /** * 今天如果要下雨,就需要带伞 */ String weather = "下雨"; if(Objects.equals("下雨",weather)) { System.out.println("需要带伞"); } } }
考试/面试注意点
如果 if 语句的关系表达式中有多个条件,用 AND
或 OR
链接时,若前者条件已让表达式为假,则后面的表达式不执行!
如果 if 语句的语句体只有一行代码,则大括号可以省略。但从规范性角度来讲,还是建议加上。
二、if - else 语句
基本语法如下:
if (关系表达式) { 语句体1; } else { 语句体2; }
样例如下:
import java.util.Objects; public class Main { public static void main(String[] args) { /** * 今天如果要下雨,就需要带伞 */ String weather = "下雨"; if(Objects.equals("下雨",weather)) { System.out.println("需要带伞"); } else { System.out.println("不用带伞"); } } }
首先计算关系表达式的值,如果为真执行语句体 1,否则执行语句体 2。
三、if - else if - else 语句
基本语法如下:
//格式: if (关系表达式 1) { 语句体1; } else if (关系表达式 2){ 语句体2; } ... else { 语句体n+1; }
样例如下:
import java.util.Objects; public class Main { public static void main(String[] args) { /** * 今天如果要下雨,就需要带伞 */ String weather = "下雨"; if(Objects.equals("下雨",weather)) { System.out.println("需要带伞"); } else if(Objects.equals("阴天",weather)){ System.out.println("我再想想"); } else { System.out.println("不用带伞"); } } }
首先计算关系表达式的值,如果为真执行语句体 1,否则继续判断关系表达式 2,以此类推。
四、if 语句的 “危害”
适当 if 语句,可以快速实现条件判断。
但对于复杂性较高的条件判断,可以使用其他语法来实现。
过多的 if - else 语句会让代码过于臃肿,造成无法阅读理解的情况出现。
我们可以使用枚举、多态等方式来优化,将在下面的课时中详细讲解。
五、课时小结
在本课时中,首先讲解了 Java 的选择结构的 if 语句,接着演示了 if、if - else、if - else if - else 语句的具体应用。在下一节课时中,将讲解 Java 的 switch 语句的语法。