第十二章 判断语句
作者:张子默
一、if语句
1、语法格式
if(关系表达式) {
语句体;
}
2、执行流程
-
首先判断关系表达式看其结果是true还是false
-
如果是true就执行语句体
-
如果是false就不执行语句体
public static void main(String[] args) {
System.out.println("开始");
//定义两个变量
int a = 10;
int b = 20;
//变量使用if判断
if(a == b) {
System.out.println("a等于b");
}
int c = 10;
if(a == c) {
System.out.println("a等于c");
}
System.out.println("结束");
}
3、练习
public class Demo02If {
public static void main(String[] args) {
System.out.println("今天天气不错,正在压马路......突然发现一个快乐的地方:网吧");
int age = 19;
if(age >= 18) {
System.out.println("进入网吧,开始high!");
System.out.println("遇到了一群猪队友,开始骂街!");
System.out.println("感觉很不爽,结账走人!");
}
System.out.println("回家吃饭!");
}
}
二、if-else语句
1、语法格式
if(关系表达式) {
语句体1;
}else {
语句体2;
}
2、执行流程
-
首先判断关系表达式看其结果是true还是false
-
如果是true就执行语句体1
-
如果是false就执行语句体2
public static void main(String[] args){
// 判断给定的数据是奇数还是偶数
// 定义变量
int a = 1;
if(a % 2 == 0) {
System.out.println("a是偶数");
} else{
System.out.println("a是奇数");
}
System.out.println("结束");
}
3、练习
//标准的if-else语句
public class Demo03IfElse {
public static void main(String[] args) {
int num = 666;
if(num % 2 == 0) { //如果除以2能够余数为0,说明是偶数
System.out.println("偶数");
}else {
System.out.println("奇数");
}
}
}
三、if-else-if语句
1、语法格式
if(判断条件1) {
执行语句1;
}else if(判断条件2) {
执行语句2;
}
...
}else if(判断条件n) {
执行语句n;
}else {
执行语句n+1;
}
2、执行流程
-
首先判断关系表达式1看其结果是true还是false
-
如果是true就执行语句体1
-
如果是false就继续判断关系表达式2看其结果是true还是false
-
如果是true就执行语句体2
-
如果是false就继续判断关系表达式…看其结果是true还是false
-
…
-
如果没有任何表达式为true,就执行语句体n+1
3、练习
//x和y的关系满足如下:
//如果x >= 3,那么y = 2x + 1;
//如果-1 < x < 3,那么y = 2x;
//如果x <= -1,那么y = 2x - 1;
public class Demo04IfElseExt {
public static void main(String[] args) {
int x = 10;
int y;
if(x >= 3) {
y = 2 * x + 1;
}else if(-1 < x && x < 3) {
y = 2 * x;
}else {
y = 2 * x - 1;
}
System.out.println("结果是:" + y);
}
}
四、语句练习
1、指定考试成绩,判断成绩的等级
-
90-100 优秀
-
80-89 好
-
70-79 良
-
60-69 及格
-
60以下 不及格
public class Demo05IfElsePractice {
public static void main(String[] args) {
int score = 120;
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("你的成绩属于不及格");
}
}
}
2、if语句和三元运算符的互换
在某些简单的应用中,if语句是可以和三元运算符互换使用的。
//题目:使用三元运算符和标准的if-else语句分别实现:取两个数字当中的最大值
public class Demo06Max {
public static void main(String[] args) {
int a = 105;
int b = 20;
//首先使用三元运算符
//int max = a > b ? a : b;
//使用今天的if语句
int max;
if(a >= b) {
max = a;
}else {
max = b;
}
System.out.println("最大值:" + max);
}
105;
int b = 20;
//首先使用三元运算符
//int max = a > b ? a : b;
//使用今天的if语句
int max;
if(a >= b) {
max = a;
}else {
max = b;
}
System.out.println("最大值:" + max);
}
}