if语句使用布尔表达式或布尔值作为分支条件来进行分支控制,其中if语句有如下三种形式:
第一种形式:
if ( logic expression ) { statements… }
第二种形式:
if (logic expression) { statements… } else { statements… }
第三种形式:
if (logic expression) { statements… } else if(logic expression) { statements… } …//可以有零个或多个else if语句 else//最后的else语句也可以省略 { statement }
在上面if语言的三种形式中,放在if之后的括号里的只能是一个逻辑表达式,即这个表达式的返回值只能是true或false.第二种情形和第三种情形是相通的,如果第三种形式中else if块不出现,则变成了第二种形式。
上面的条件语句中,if(logic expression)、else if(logic expression)以及else后花括号括起来多行代码被称为代码块,一个代码块通常被当成一个整体来执行(除非运行过程中遇到return、break、continue等关键字,或者遇到了异常),因此这个代码块也被称为条件执行体。例如如下程序:
程序清单:codes/04/4-2/TestIf.java
public class TestIf { public static void main(String[] args) { int age = 30; if (age > 20) //只有当age > 20时,下面花括号括起来的语句块才会执行 //花括号括起来的语句是一个整体,要么一起执行,要么一起不会执行 { System.out.println("年龄已经大于20岁了"); System.out.println("20岁以上的人应该学会承担责任…"); } } }
因此,如果if(logic expression)、else if(logic expression)和else后的语句块只有一行语句时,则可以省略花括号,因为单行语句本身就是一个整体,无须花括号来把它们定义成一个整体。下面代码完全可以正常执行(程序清单同上):
//定义变量a ,并为其赋值 int a = 5; if (a > 4) //如果a>4,执行下面的执行体,只有一行代码作为代码块 System.out.println("a大于4"); else //否则,执行下面的执行体,只有一行代码作为代码块 System.out.println("a不大于4");
通常,我们建议不要省略if、else、else if后执行块的花括号,即使条件执行体只有一行代码,因为保留花括号会有更好的可读性,而且保留花括号会减少发生错误的可能,例如如下代码,则不可正常执行:
//定义变量b ,并为其赋值 int b = 5; if (b > 4) //如果b>4,执行下面的执行体,只有一行代码作为代码块 System.out.println("b大于4"); else //否则,执行下面的执行体 b--; //对于下面代码而言,它已经不再是条件执行体的一部分,因此总会执行 System.out.println("b不大于4");
上面代码中以粗体字标识的代码行:System.out.println("b不大于4");,将总是会执行,因为这行代码并不属于else后的条件执行体,else后的条件执行体就是b--;这行代码。
if、else、else if后条件执行体要么是一个花括号扩起来的语句块,则这个语句块整体作为条件执行体;要么是以分号为结束符的一行语句,甚至可能是一个空语句(空语句是一个分号)。
如果if块后有多条语句作为条件执行体,如果省略了这个条件执行体的花括号,则会引起编译错误,看下面代码(程序清单同上):
//定义变量c ,并为其赋值 int c = 5; if (c > 4) //如果c>4,执行下面的执行体,将只有c--;一行代码为条件执行体 c--; //下面是一行普通代码,不属于条件执行体 System.out.println("c大于4"); //此处的else将没有if语句,因此编译出错 else //否则,执行下面的执行体,只有一行代码作为代码块 System.out.println("c不大于4");
在上面代码中,因为if后的条件执行体省略了花括号,则系统只把c--;一行代码作为条件执行体,当c-;语句结束后,if语句也就结束了。后面的System.out.println("c大于4");代码已经是一行普通代码了,不再属于条件执行体,从而导致else语句没有if语句,从而引起编译错误。
本文向大家介绍详解C++编程中的条件判断语句if-else与switch的用法,包括了详解C++编程中的条件判断语句if-else与switch的用法的使用技巧和注意事项,需要的朋友参考一下 if-else 语句 控制条件分支。 语法 备注 如果 expression 的值不为零,执行 statement1 。如果选项 else 存在,如果 expression 的值为零,执行 statement
本文向大家介绍浅谈Python的条件判断语句if/else语句,包括了浅谈Python的条件判断语句if/else语句的使用技巧和注意事项,需要的朋友参考一下 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。 比如,输入用户的年龄,根据年龄打印不同的内容。。。 Python程序中,能让计算机自己作出判断的语句就是if语句: 例: 根据python的缩进规则,如果if语句的条件判断为Tr
主要内容:if 语句,if else 语句,if else if 语句在 C# 编程中,if 语句主要用于条件判断,C# 中支持多种类型的 if 语句: if 语句; if else 语句; if else if 语句。 if 语句 C# 中的 if 语句用于条件判断,其中包含一个布尔表达式,后面跟随着若干要执行的代码,当布尔表达式为真时,后面跟随的代码就会执行,if 语句的语法格式如下: if(布尔表达式){ 表达式为真时要执行的代码; } if 语句的执
本文向大家介绍Java基础教程_判断语句if else,包括了Java基础教程_判断语句if else的使用技巧和注意事项,需要的朋友参考一下 与三元运算符相比: 好处:可以简化if else 代码 弊端 因为是一个运算符,所以运算玩必须要有一个结果 以上这篇Java基础教程_判断语句if else就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
本文向大家介绍PHP的switch判断语句的“高级”用法详解,包括了PHP的switch判断语句的“高级”用法详解的使用技巧和注意事项,需要的朋友参考一下 只所以称为“高级”用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实还是它的基础用法! switch 语句和具有同样表达式的一系列的 IF 语句相似。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等
本文向大家介绍Swift流程控制之循环语句和判断语句详解,包括了Swift流程控制之循环语句和判断语句详解的使用技巧和注意事项,需要的朋友参考一下 Swift提供了所有c类语言的控制流结构。包括for和while循环来执行一个任务多次;if和switch语句来执行确定的条件下不同的分支的代码;break和continue关键字能将运行流程转到你代码的另一个点上。 除了C语言传统的for-condi