JAVA基本构文:条件判断if
判断给定条件表达式,表达式为真的话,则执行if里的块语句;否则不执行或执行else里的块语句。形式1:
if (条件表达式) {
块语句
}
块语句
}
若条件表达式为真,则执行块语句。
形式2:
if (条件表达式) {
块语句A
} else {
块语句B
}
块语句A
} else {
块语句B
}
若条件表达式为真,则执行块语句A,否则执行块语句B。
形式3:
if (条件表达式1) {
块语句A
} else if (条件表达式2){
块语句B
} else if (条件表达式3){
块语句C
} else {
块语句D
}
块语句A
} else if (条件表达式2){
块语句B
} else if (条件表达式3){
块语句C
} else {
块语句D
}
若条件表达式1为真,则执行块语句A;否则若条件表达式2为真,则执行块语句B;否则若条件表达式3为真,则执行块语句C;否则执行块语句D。
if后可以跟0到多个else if,0到1个else。
例1:
HelloIf.java
public class HelloIf {
public static void main(String[] args) {
int i = 1;
System.out.println("HelloIf Start");
if (i == 1) {
System.out.println("i == 1");
}
if (i != 1) {
System.out.println("i != 1");
}
System.out.println("HelloIf End");
}
}
public static void main(String[] args) {
int i = 1;
System.out.println("HelloIf Start");
if (i == 1) {
System.out.println("i == 1");
}
if (i != 1) {
System.out.println("i != 1");
}
System.out.println("HelloIf End");
}
}
因为i == 1,所以会执行System.out.println("i == 1");语句;不执行System.out.println("i != 1");语句。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i == 1
HelloIf End
C:\Java>java HelloIf
HelloIf Start
i == 1
HelloIf End
例2:
HelloIf.java
public class HelloIf {
public static void main(String[] args) {
int i = 1;
int j = 2;
System.out.println("HelloIf Start");
if (i <= j) {
System.out.println("i <= j");
} else {
System.out.println("i > j");
}
System.out.println("HelloIf End");
}
}
public static void main(String[] args) {
int i = 1;
int j = 2;
System.out.println("HelloIf Start");
if (i <= j) {
System.out.println("i <= j");
} else {
System.out.println("i > j");
}
System.out.println("HelloIf End");
}
}
因为i < j,所以会执行System.out.println("i <= j");语句;不执行System.out.println("i > j");语句。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i <= j
HelloIf End
C:\Java>java HelloIf
HelloIf Start
i <= j
HelloIf End
例3:
HelloIf.javapublic class HelloIf {
public static void main(String[] args) {
int i = 1;
int j = 2;
System.out.println("HelloIf Start");
if (i == 1 && j == 1) {
System.out.println("i == j == 1");
} else if (i == 1) {
System.out.println("i == 1, j != 1");
} else if (j == 1) {
System.out.println("i != 1, j == 1");
} else {
System.out.println("i != 1, j != 1");
}
System.out.println("HelloIf End");
}
}
public static void main(String[] args) {
int i = 1;
int j = 2;
System.out.println("HelloIf Start");
if (i == 1 && j == 1) {
System.out.println("i == j == 1");
} else if (i == 1) {
System.out.println("i == 1, j != 1");
} else if (j == 1) {
System.out.println("i != 1, j == 1");
} else {
System.out.println("i != 1, j != 1");
}
System.out.println("HelloIf End");
}
}
因为i = 1, j = 2,满足条件i == 1, j != 1,所以会打印出以下信息。
C:\Java>javac HelloIf.java
C:\Java>java HelloIf
HelloIf Start
i == 1, j != 1
HelloIf End
C:\Java>java HelloIf
HelloIf Start
i == 1, j != 1
HelloIf End
条件表达式与条件表达式的组合:
跟条件表达式有关的运算符号有:
| 运算符号 | 说明 | 例 |
|---|---|---|
| == | 等于,用于判断运算符号的前后运算式是否相等,相等的情况下为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 |



