判断语句 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 语句控制的操作是一个输出语句的时候就不能. 为什么呢? 因为三元运算符是一个运算符, 运算符操作完毕就应该有一个结果, 而不是一个输出.
来源: http://www.bubuko.com/infodetail-3051528.html