if / else语句

条件语句是程序设计语言中最基本的流程控制语句，几乎任何一门程序设计语言的条件语句都用到了if关键字，因而条件语句也被称为if语句。条件语句分简单语句和复合语句，如果条件语句的分支中又包括了条件语句，即称为复合条件语句，或嵌套条件语句； 否则称为简单语句。

语法：if （boolean） {statement1} else {statement2}

判断给定条件表达式，表达式为真的话，则执行if里的块语句；否则不执行或执行else里的块语句。

图 1-4 if 语句流程图

和C语言的不同的是，Java 分支语句中条件表达式必须是布尔型，不能是数值型。这里不能像C 那样直接放上数值数据，而应该用关系表达式代替。

例：

int count;

1.count = getCount(); // a method defined in the program

2.if (count < 0) {

3. System.out.println(“Error: count value is negative.”);

4.}else {

5. System.out.println(“There will be “ + count +

6. “people for lunch today.”);

7.}

在Java编程语言中，if ()用的是一个布尔表达式，而不是数字值，这一点与C/C++不同。前面已经讲过，布尔类型和数字类型不能相互转换。因而，如果出现下列情况：

if(x)// x is int

应该使用下列语句替代：

if(x ! = 0)

全部else部分是选择性的，并且当测试条件为假时如不需做任何事，else部分可被省略。

##### 形式1：

if (条件表达式) {

块语句

}

if (条件表达式) {

块语句

}

--------------------------------------------------------------------------------

若条件表达式为真，则执行块语句。

##### 形式2：

if (条件表达式) {

块语句 A

} else {

块语句 B

}

if (条件表达式) {

块语句 A

} else {

块语句 B

}

--------------------------------------------------------------------------------

若条件表达式为真，则执行块语句 A，否则执行块语句 B。

##### 形式3：

if (条件表达式 1) {

块语句 A

} else if (条件表达式 2){

块语句 B

} else if (条件表达式 3){

块语句 C

} else {

块语句 D

}

if (条件表达式 1) {

块语句 A

} else if (条件表达式 2){

块语句 B

} else if (条件表达式 3){

块语句 C

} else {

块语句 D

}

--------------------------------------------------------------------------------

若条件表达式 1 为真，则执行块语句 A；否则若条件表达式 2 为真，则执行块语句 B；否则若条件表达式 3 为真，则执行块语句 C；否则执行块语句 D。

跟条件表达式有关的运算符号有：

运算符号 | 说明 | 例
== | 等于，用于判断运算符号的前后运算式是否相等，相等的情况下为true，否则为false | i == j
!= | 不等于，用于判断运算符号的前后运算式是否不相等，相等的情况下为false，否则为true | i == j
> | 大于，用于判断运算符号的前后运算式是否前者大于后者，大于的情况下为true，否则为false | i > j
>= | 大于或等于，用于判断运算符号的前后运算式是否前者大于或等于后者，大于等于的情况下为true，否则为false | i >= j
< | 小于，用于判断运算符号的前后运算式是否前者小于后者，小于的情况下为true，否则为false | i < j
<= | 小于或等于，用于判断运算符号的前后运算式是否前者小于或等于后者，小于或等于的情况下为true，否则为false | i <= j
&& | 表达式与运算，用于判断运算符号的前后表达式是否都为真，前后表达式都为真的情况下为true，否则为false | i == 1 && j == 1

{|双竖线|表达式或运算，用于判断运算符号的前表达式是否为真或则后表达式是否为真，小于或等于的情况下为true，否则为false | |}