购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.1 if语句详解

知识点讲解:光盘:视频\PPT讲解(知识点)\第4章\if语句详解.mp4

if语句是假设语句,换句话说,if语句是最基础的条件语句。if关键字中文意思是如果,按其细致的语法归纳来说总共有3种,分别是if语句、if-else语句和if-else…if-else语句。在本节将向读者详细讲解上述这3种if语句的基本知识,并通过具体实例来讲解if语句的基本用法。

4.1.1 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语句里面的内容。

4.1.2 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程序设计里,变量可以是中文。

4.1.3 多个条件判断的if语句

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语句来更好地实现多分支语句的判别。 dgMkrwINmCjs2vph36GCiQiNniCchCvEqE2bJoSoyThpL7dhyW5ArxpfM8yCobpb

点击中间区域
呼出菜单
上一章
目录
下一章
×