文章目录
1、分支结构
1.1 if分支结构
if(条件表达式) {
语句块;
}
- 判断条件表达式是否成立
- 若成立,则执行语句块;
- 若不成立,则跳过语句块;
/*
案例一:编程使用if分支结构查找两个整数中的最大值
*/
public static void main(String[] args) {
// 1.提示用户输入两个整数并使用变量记录
System.out.println("请输入两个整数:");
Scanner sc = new Scanner(System.in);
int ia = sc.nextInt();
int ib = sc.nextInt();
// 2.使用if分支结构找到最大值并打印
// 假设第一个数为最大值并记录
int max = ia;
if(ib > max) {
max = ib;
}
System.out.println("最大值是:" + max);
}
1.2 if else分支结构
if(条件表达式) {
语句块1;
} else {
语句块2;
}
- 判断条件表达式是否成立
- 若成立,则执行语句块1;
- 若不成立,则执行语句块2;
/*
案例二:编程使用if else分支结构判断是否为负数和非负数
*/
// 1.提示用户输入一个整数并使用变量记录
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
// 2.使用if else分支结构判断负数和非负数并打印
if(num < 0) {
System.out.println(num + "是负数!");
} else {
// 针对目前的非负数再次判断是正数还是零
if(num > 0) {
System.out.println(num + "是正数!");
} else {
System.out.println(num + "是零!");
}
}
1.3 if else if else分支结构
if(条件表达式1) {
语句块1;
} else if(条件表达式2) {
语句块2;
} else {
语句块n;
}
- 判断条件表达式1是否成立:
- 若成立,则执行语句块1;
- 若不成立,则判断条件表达式2是否成立:
- 若成立,则执行语句块2;
- 若不成立,则执行语句块n;
/*
案例三:提示用户输入考试的成绩,使用if-else if-else分支结构判断所在等级并打印。
[90 ~ 100] 等级A
[80 ~ 89] 等级B
[70 ~ 79] 等级C
[60 ~ 69] 等级D
[0 ~ 59] 等级E
*/
// 1.提示用户输入考试成绩并使用变量记录
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
// 2.使用if else if else分支结构判断所在的等级并打印
if(score >= 90 && score <= 100) {
System.out.println("等级A");
} else if(score >= 80) {
System.out.println("等级B");
} else if(score >= 70) {
System.out.println("等级C");
} else if(score >= 60) {
System.out.println("等级D");
} else {
System.out.println("等级E");
}
1.4 switch case分支结构
switch(变量/表达式) {
case 字面值1: 语句块1; break;
case 字面值2: 语句块2; break;
...
default:语句块n;
}
-
计算变量/表达式的数值 => 判断是否匹配字面值1:
- 若匹配,则执行语句块1 => 执行break跳出当前结构
- 若不匹配,则判断是否匹配字面值2:
- 若匹配,则执行语句块2 => 执行break跳出当前结构
- 若不匹配,则执行语句块n
-
switch()中支持的数据类型有: byte、 short、 char以及int类型,从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型。
/*
案例四:编程使用switch case分支结构实现考试成绩的等级判断
*/
// 1.提示用户输入考试成绩并使用变量记录 0 ~ 100
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
// 2.使用switch case分支结构实现考试成绩的等级判断
switch(score / 10) {
case 10: System.out.println("等级A"); break;
case 9: System.out.println("等级A"); break;
case 8: System.out.println("等级B"); break;
case 7: System.out.println("等级C"); break;
case 6: System.out.println("等级D"); break;
default: System.out.println("等级E");
}