知识点讲解:光盘:视频\PPT讲解(知识点)\第4章\if语句详解.mp4
if语句是假设语句,换句话说,if语句是最基础的条件语句。if关键字中文意思是如果,按其细致的语法归纳来说总共有3种,分别是if语句、if-else语句和if-else…if-else语句。在本节将向读者详细讲解上述这3种if语句的基本知识,并通过具体实例来讲解if语句的基本用法。
if语句由保留字符if、条件语句和位于后面的语句组成,条件语句通常是一个布尔表达式,结果为true和false。如果条件为true,则执行语句并继续处理其后的下一条语句;如果条件为false,则跳过该语句并继续处理紧跟着整个if语句的下一条语句;当条件condition为true时,执行statement1语句;当condition为false时,则执行statement2语句,其执行流程如图4-1所示。
图4-1 if语句流程图
使用if语句的语法格式如下所示。
if(条件表达式)
语法说明:if是该语句中的关键字,后续紧跟一对小括号,该对小括号任何时候不能省略,小括号的内部是具体的条件,语法上要求该表达式结果为boolean类型。后续为功能的代码,也就是当条件成立时执行的代码,在程序书写时,一般为了直观地表达包含关系,功能代码一般需要缩进。
例如下面的演示代码。
int a = 10; if(a >= 0) System.out.println("a是正数"); if(a % 2 == 0) System.out.println("a是偶数");
在上述演示代码中,第一个条件是判断变量 a 的值是否大于等于零,如果该条件成立则执行输出;第二个条件是判断变量 a 是否为偶数,如果成立也输出。
再看下面代码的执行流程。
int m = 20; if(m > 20) m += 20; System.out.println(m);
按照前面的语法格式说明,只有 m +=20;这行代码属于功能代码,而后续的输出语句和前面的条件形成顺序结构,所以该程序执行以后输出的结果为20。如果当条件成立时,需要执行的语句有多句,此时可以使用语句块来进行表述,具体语法格式如下所示。
if(条件表达式){ 功能代码块; }
这种语法格式中,使用一个代码块来代替前面的功能代码,这样可以在代码块内部书写任意多行的代码,而且也使整个程序的逻辑比较清楚,所以在实际的代码编写中推荐使用该种逻辑。
实例022 判断成绩是否及格
源码路径 \daima\4\Ifkong.java 视频路径 \视频\实例\第4章\022
实例文件Ifkong.java的主要代码如下所示。
public class Ifkong { public static void main(String args[]) { int chengji = 45; if(chengji>60){System.out.println("及格"); } System.out.println("不及格"); }
范例043:检查成绩是否优秀 源码路径:光盘\演练范例\043\ 视频路径:光盘\演练范例\043\ 范例044:判断某一年是否为闰年 源码路径:光盘\演练范例\044\ 视频路径:光盘\演练范例\044\
执行后的效果如图4-2所示。
图4-2 执行效果
在上述实例022的代码中,没有满足if语句中的条件,所以没有执行if语句里面的内容。
在第一个if语句中,大家可以看到,它并不对条件不符合的内容进行处理,这在程序中是不可饶恕的错误。因为这是不允许的,所以Java引进了另外一种条件语句:if-else,其基本语法格式如下所示。
if(condition) statement1; else statement2;
if-else语句的执行流程如图4-3所示。
图4-3 if-else语句
实例023 对两种条件给出不同的答案
源码路径 \daima\4\Ifjia.java 视频路径 \视频\实例\第4章\023
实例文件Ifjia.java的主要代码如下所示。
public class Ifjia { public static void main(String args[]) { int a = 100; if(a>99) { System.out.println("大于99"); } else { System.out.println("小于等于99"); } System.out.println("检验完毕"); } }
范例045:根据两种条件给出处理结果 源码路径:光盘\演练范例\045\ 视频路径:光盘\演练范例\045\ 范例046:验证登录信息的合法性 源码路径:光盘\演练范例\046\ 视频路径:光盘\演练范例\046\
执行后的效果如图4-4所示。
图4-4 执行效果
注意: 在Java程序设计里,变量可以是中文。
if语句实际上是一种十分强大的条件语句,它可以对多种情况进行判断。可以判断多条件的语句是if-else-if,其语法格式如下所示。
if(condition1) statement1; else if(condition2) statement2; else statement3
首先它会判断第一个条件condition1为true时,执行statement。当为false时,则继续执行下面的代码;当condition2为true时,执行statement2;当condition为false时,则执行statement3。
if-else-if的执行流程图如图4-5所示。
图4-5 嵌套的if语句
在Java语句中,if…else可以嵌套无限次,可以说只要遇到正确的condition条件,就会执行相关的语句,然后结束整个程序的运行。
实例024 判断多个条件然后给出不同的值
源码路径 \daima\4\IfDuo.java 视频路径 \视频\实例\第4章\024
实例文件是IfDuo.java的具体实现代码如下所示。
public static void main(String args[]) { int 总成绩 = 452; if(总成绩>610) System.out.println("重点本科"); else if(总成绩>570) System.out.println("一般本科"); else if(总成绩>450) System.out.println("专科"); else if(总成绩>390) System.out.println("高职"); else System.out.println("落榜"); System.out.println("检查完毕"); } }
范例047:判断某年是否是闰年 源码路径:光盘\演练范例\047\ 视频路径:光盘\演练范例\047\ 范例048:为新员工分配部门 源码路径:光盘\演练范例\048\ 视频路径:光盘\演练范例\048\
执行后的效果如图4-6所示。
图4-6 执行效果
if-else-if语句是嵌套的语句,是可以多状态进行判断的语句。其实if语句可以对一件事物进行多个条件限制,也可以对一件事物限制多个条件。
注意: 要按照逻辑顺序书写else if语句。
每个else if语句在书写时是有顺序的,在实际书写时,必须按照逻辑上的顺序进行书写,否则将出现逻辑错误。…if-else语句是Java语言中提供的一个多分支条件语句,但是在判断某些问题时,书写会比较麻烦,所以在语法中提供了另外一个语句——switch语句来更好地实现多分支语句的判别。