一般写法
if(条件表达式){
// 条件表达式结果为true要执行的代码块
}else{
// 条件表达式结果为false要执行的代码块
}
省略写法
当代码块只有一条语句的时候,大括号可以省略不写:
if(条件表达式)
// 条件表达式结果为true要执行的一行代码
else
// 条件表达式结果为false要执行的代码
这种方法虽然简介,但是不推荐,代码的可读性差。
条件表达式分类
1、条件表达式可以是布尔类型的字面量例如:
if(true){
// 代码块
}else{
// 代码块
}
2、可以是比较操作符的结果例如:
int a = 5;
int b = 10;
if (a < b) {
// 代码块
}else{
// 代码块
}
3、可以是布尔变量例如:
boolean a = true;
if(a){
// 代码块
}else{
// 代码块
}
4、可以是方法调用例如:
public class test {
public static boolean methoda() {
return true;
}
public static void main(String[] args) {
if (methoda()) {
// 代码块
System.out.println("代码块运行了");
}
}
}
但是方法调用的返回值一定得是boolean类型。
5、可以是逻辑操作符的结果例如:
boolean a = true;
boolean b = false;
if (a && !b) {
// 代码块
}
6、可以是条件(三元)操作符的结果例如:
int a = 5;
if ((a > 0) ? true : false) {
// 代码块
}
三元运算符的结果也一定得是boolean类型。
if语句三种格式
if
if(条件表达式){
// 代码块
}
if-else
if(条件表达式){
// 代码块
}else{
// 代码块
}
if-else-if
if(条件表达式1){
// 代码块1
}else if(条件表达式2){
// 代码块2
}
/*此间可以又有n个if-else-if*/
else{
// 最终代码块
}
这种if语句会先对条件表达式1
进行判断,如果为false则不会执行代码块1
再判断条件表达式2
,以此类推,当条件表达式n-1
为false的时候又不会执行代码块n-1
去判断条件表达式n
,直到判断到条件表达式为true的时候停止判断并执行它所属的代码块,或者一直判断到最后一个条件表达式也没有找到一个true的值,那将会执行最终代码块
。
if语句的嵌套
if语句可以嵌套定义,例如:
if(true){
// 代码块1
if(true){
// 代码块2
}
if(false){
// 代码块3
}
}
上述代码中代码块1和2会执行,而代码块3则不会。