判断语句1--if
- if语句第一种格式: if
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
执行流程图:
代码举例:
import java.util.Scanner; public class Demo05 { public static void main(String[] args) { // 获取年龄信息 Scanner s = new Scanner(System.in); System.out.println("请输入您的年龄"); int age = s.nextInt(); // 判断表达式是否成立 if (age > 18) { //成立和执行的代码 System.out.println("可以去网吧上网"); } System.out.println("if语句结束后执行的代码"); } }
执行结果
- if语句第二种格式: if...else
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
执行流程图:
代码举例:
import java.util.Scanner; public class Demo06 { public static void main(String[] args) { // 获取输入的数字 Scanner s = new Scanner(System.in); System.out.println("请输入数字"); int age = s.nextInt(); // 判断给定的数据是奇数还是偶数 if (age % 2 == 0) { System.out.println("偶数"); } else { System.out.println("奇数"); } } }
执行结果
注意事项:
else后面是没有比较表达式的,只有if后面有
- if语句第三种格式: if...else if ...else
格式:
执行流程
- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就继续判断关系表达式2看其结果是true还是false
- 如果是true就执行语句体2
- 如果是false就继续判断关系表达式…看其结果是true还是false
- …
- 如果没有任何关系表达式为true,就执行语句体n+1。
执行流程图:
需求:
根据输入的考试成绩,判断学生等级
90-100 优秀
80-89 好
70-79 良
60-69 及格
60以下 不及格
代码实现:
import java.util.Scanner; public class Demo07 { public static void main(String[] args) { // 获取输入的数字 Scanner s = new Scanner(System.in); System.out.println("请输入score"); int score = s.nextInt(); //根据关系表达式执行相应的代码 if (score < 0 || score > 100) { System.out.println("你的成绩是错误的"); } else if (score >= 90 && score <= 100) { System.out.println("你的成绩属于优秀"); } else if (score >= 80 && score < 90) { System.out.println("你的成绩属于好"); } else if (score >= 70 && score < 80) { System.out.println("你的成绩属于良"); } else if (score >= 60 && score < 70) { System.out.println("你的成绩属于及格"); } else { System.out.println("你的成绩属于不及格"); } } }
执行结果:
注意事项:
- 比较表达式无论简单还是复杂,结果必须是boolean类型
- if语句控制的语句体如果是一条语句,大括号可以省略;如果是多条语句,就不能省略。建议永远不要省略。
- 一般来说:有左大括号就没有分号,有分号就没有左大括号
- if语句是可以嵌套使用
if语句和三元运算符的区别
- 三元运算符实现的,都可以采用if语句实现。反之不成立。
什么时候if语句实现不能用三元改进呢?
当if语句控制的操作是一个输出语句的时候就不能。为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。