判断语句if
- if语句第一种格式: if
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
执行流程图:
代码举例:
public class Demo02If { public static void main(String[] args) { System.out.println("今天天气不错"); int age = 18; //表达式为true,执行语句体 if (age >= 18) { //语句体 System.out.println("可以上网"); } System.out.println("if语句结束后执行后的代码"); } }
执行结果
- if语句第二种格式: if...else
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
执行流程图:
代码举例:
public class Demo03IfElse { public static void main(String[] args) { int number = 556; //number %2 == 0 成立 执行语句体1,否则执行语句体2 if (number % 2 == 0) { //语句体1 System.out.println("偶数"); } else { //语句体2 System.out.println("奇数"); } System.out.println("if语句结束后执行的代码"); } }
- if语句第三种格式: if...else if ...else
格式:
执行流程
- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就继续判断关系表达式2看其结果是true还是false
- 如果是true就执行语句体2
- 如果是false就继续判断关系表达式…看其结果是true还是false
- …
- 如果没有任何关系表达式为true,就执行语句体n+1
执行流程图:
代码举例:
public class Demo04IfElseExt { public static void main(String[] args) { // x和y的关系满足如下: // x>=3 y = 2x + 1; //‐1<=x<3 y = 2x; // x<=‐1 y = 2x – 1; // 根据给定的x的值,计算出y的值并输出。 // 定义变量 int x = 15; int y; if (x >= 3) { y = 2 * x + 1; } else if (x >= -1 && x < 3) { y = 2 * x; } else { y = 2 * x - 1; } System.out.println("y的值是:" + y); } }
执行结果
if语句和三元运算符的区别
- 三元运算符实现的,都可以采用if语句实现。反之不成立。
- 什么时候if语句实现不能用三元改进呢? 当if语句控制的操作是一个输出语句的时候就不能。为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。