判断语句概念
判断语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。
判断语句
判断语句if的三种格式
if语句第一种格式: 单if
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体
代码执行如下图所示
代码举例
package demo02_JudgmentStatement; //通过单if语句判断2个变量是否相等 public class Demo01If { public static void main(String[] args) { //定义2 个变量 int a = 313; int b = 33; // a == b 是条件表达式 if (a == b) { //语句体 System.out.println("a == b "); } int c = 313; if (a == c) { System.out.println("a等于c"); } // 单if语句之后执行的代码 System.out.println("其他语句"); } }
代码执行后的结果
if语句第二种格式: if...else
格式:
执行流程
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2
执行流程图
代码举例
package demo02_JudgmentStatement; //通过单if..else语句判断给定的数据是奇数还是偶数 public class Demo02IfElse { public static void main(String[] args) { //定义要测试的变量 int i = 888; //i% 2 == 0 是条件表达式 if (i % 2 == 0) { //语句体1 System.out.println("偶数"); } else { //语句体2 System.out.println("奇数"); } } }
代码执行后的结果
if语句第三种格式: if...else if ...else
格式:
执行流程
- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1,剩下的都不在执行。
- 如果是false就继续判断关系表达式2看其结果是true还是false
- 如果是true就执行语句体2,剩下的都不在执行。
- 如果是false就继续判断关系表达式…看其结果是true还是false
- …
- 如果没有任何关系表达式为true,就执行语句体n+1。
执行流程图
代码举例
package demo02_JudgmentStatement; /* *通过if... else if...else 指定考试成绩,判断学生等级 规则如下 90-100 优秀 80-89 好 70-79 良 60-69 及格 60以下 不及格 * */ class Demo03IfElsePractise { public static void main(String[] args) { int i = 80; if (i > 100 || i < 0) { System.out.println("成绩错误哦"); } else if (i >= 90 && i < 100) { System.out.println("优"); } else if (i >= 80 && i < 90) { System.out.println("良"); } else if (i >= 70 && i < 80) { System.out.println("一般"); } else if (i >= 60 && i < 70) { System.out.println("及格"); } else { System.out.println("不及格"); } } }
代码执行后的结果
if语句和三元运算符的互换
在某些简单的应用中,if语句是可以和三元运算符互换使用的。
package demo02_JudgmentStatement; public class Demo04exchange { public static void main(String[] args) { int a = 10; int b = 20; //定义变量,保存a和b的较大值 int c; if (a > b) { c = a; } else { c = b; } System.out.println("最大值是:" + c); //可以上述功能改写为三元运算符形式 c = a > b ? a : b; System.out.print("最大值是:" + c); } }
代码执行后的结果