1. if语句
if(布尔表达式){
执行代码
}
执行流程:
- 首先判断布尔表达式的值是true还是false
- 如果是true就执行括号内代码
- 如果是false就不执行括号内代码
表达式只有一条语句时,代码如下:
int a = 10;
if(a ==10)
System.out.pritln("a的值为10");
虽然if后的语句块只有一条语句,省略“{}”并无语法错误,但为了可读性最好不要省略
注意事项:
4. 表达式无论简单还是复杂,结果必须是boolean类型
5. if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,则不能省略;建议不要省略
6. 一般来说:有左大括号就没有分号,有分号就没有左大括号
2. if…else语句
if(布尔表达式){
true:执行代码1
}else{
false:执行代码2
}
执行流程:
- 首先判断布尔表达式的值是true还是false
- 如果是true执行代码1
- 如果是false执行代码2
注意事项:
- 在某些情况下是可以和三元运算符相互转换
- 当if语句控制的执行代码是一条输出语句时,就不成立,因为三元运算符是一个运算符,必须要求有一个结果返回。而输出语句不能作为一个返回结果
- if-else语句也适用于嵌套使用,但嵌套层数不易过深,最多10层
3. if … else if … else 语句
if(布尔表达式1){
表达式1为 true:执行代码1
}else if(布尔表达式2){
表达式2为 true:执行代码2
}else if(布尔表达式n){
表达式n为 true:执行代码n
}else{
执行代码n+1;
}
执行流程:
- 首先判断布尔表达式1的结果
- 如果是true就执行代码1
- 如果是false就继续判断布尔表达式2的结果
- 如果是true就执行代码2
- 如果是false就继续判断布尔表达式n的结果
- 如果是true就执行代码n
- 如果是false就执行代码n+1
例如:
class Demo{
public static void main(String[] args){
int x = 10;
if(x >15){ //判断变量x是否大于15
System.out.println("x的值大于15"); //条件成立的输出信息
}else if(x>5){ //判断变量x是否大于5
System.out.println("x的值大于5,但小于15"); //条件成立的输出信息
}else if(x>0){ //判断变量x是否大于0
System.out.println("x的值大于0,但小于5"); //条件成立的输出信息
else{
System.out.println("x的值小于0"); //以上条件都不成立的输出信息
}
}
}
if语句的使用场景:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断