01_basic_08_if_statement

第八章 if语句(If Statement)

1 if语句结构

If语句是一种条件分支语句(Conditional Statement),在一定的条件下,执行一些运算。If语句有两种结构,它们分别是if-then结构和if-then-else结构。

2 if-then语句

if-then语句的结构如下所示。if是Java语言的关键字,表示这是一条if语句。在圆括号之间的表达式condition表示一个条件。这个条件的值可能为true或者false。当表达式condition的计算结果为true时,if-then语句则进入语句块body运行。当表达式condition的计算结果为false时,程序会跳过语句块body,继续执行if语句的下一条语句。

当表达式condition生成的结果是Boolean类型的对象时,if语句会自动执行拆箱操作(Unboxing),将其转换成boolean类型的值,然后再判断所执行的分支。

if ( condition ) {
    body
}

当语句块body只包含一条语句时,花括号可以省略。

if ( condition ) 
    statement

下面是两个示例分别展示如何使用if-then语句。当x是奇数时,打印一条消息"这是一个奇数"。如果x是偶数,则程序会跳过if语句。

int x = 1;
if (x%2 == 1) { // 对2取余数,若余数为1,则x是奇数
    System.out.println("这是一个奇数");
}

if ((x & 0x1) == 1) // 使用按位与获得x二进制最右侧一位的值。若为1,则x是奇数
    System.out.println("这是一个奇数");

3 if-then-else语句

与if-then语句相比,if-then-else语句则增加了一个分支,用来处理当条件不被满足时的场景。当表达式condition的值为true时,if-then-else语句执行branch 1代码块中的语句。当表达式condition的值为false时,if-then-else语句则执行branch 2语句块中的语句。当branch 1或者branch 2中只包含一条语句时,相应的花括号可以省略。

if ( condition ) {
    branch 1
} else {
    branch 2
}

例如,下面的两个用例是上述用例的扩展。当x是偶数时,也打印一条消息"这是一个偶数"。

int x = 0;
if (x%2 == 1) { // 对2取余数,若余数为1,则x是奇数
    System.out.println("这是一个奇数");
} else {
    System.out.println("这是一个偶数");
}

if ((x & 0x1) == 1) // 使用按位与获得x二进制最右侧一位的值。若为1,则x是奇数
    System.out.println("这是一个奇数");
else 
    System.out.println("这是一个偶数");

4 小结

if语句是一种条件分支语句。它为Java语言提供了分支处理的能力。if语言是一种最基本的分支语句。当处理的分支较多时,开发人员还可以使用switch语句。从本质上来看,if语句和switch语句是十分相似的。只不过它们提供了不同的语法应用场景。

 

上一章
下一章

注册用户登陆后可留言

Copyright  2019 Little Waterdrop, LLC. All Rights Reserved.