1.1 if分支
1.1.1 if单独使用
private static void method1() {
int a = 10;
// 当条件表达式结果为true的时候 执行if分支;否则不执行分支
if (a > 1) {
System.out.println("aaa");
}
System.out.println("end");
}
1.1.2 if...else搭配使用
private static void method2() {
int score = 90;
// 二选一 , if或else只能执行一个分支
// 当条件表达式结果为true的时候 执行if分支;否则执行else分支;
if (score > 60) {
System.out.println("成绩及格");
} else {
System.out.println("成绩不及格");
}
}
1.1.3 多重if分支 if..else if...else if...else
- 区间判断 多重if
只会执行其中一个分支(如果没有else 有可能分支一个都不执行)
public static void method3() {
Scanner sc = new Scanner(System.in);
System.out.println("请录入学生成绩:");
int score = sc.nextInt();
//只会执行其中一个分支
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("中等");
} else {
//所有分支都不满足的情况下,执行else分支
System.out.println("差");
}
System.out.println("end");
}
MARK 如果使用的是 < 最小的数放在上面;
public static void method4() {
Scanner sc = new Scanner(System.in);
System.out.println("请录入学生成绩:");
int score = sc.nextInt();
// 只会执行其中一个分支
// 如果使用的是 < 最小的数放在上面;
if (score < 60) {
System.out.println("差");
} else if (score < 80) {
System.out.println("中等");
} else if (score < 90) {
System.out.println("良好");
} else {
//所有分支都不满足的情况下,执行else分支
System.out.println("优秀");
}
System.out.println("end");
}
1.2 switch分支
- switch 用来做等值判断; 内部使用 == 进行判断;
- break是用来终止分支,只要执行了break整个分支结构结束;
- 每个case后面都要加一个break,default后面也要加break;
- 如果case后面没有加break 会发生case穿透,以一个入口case进入,依次穿透下面的case,直到碰到break结束;
- 当所有case都不满足的时候,执行default分支;
- switch 小括号中表达式的值的数据类型只能是 byte short char int 包装类型,String,enum (枚举类型)
1.2.1 基本使用
private static void method5() {
int rank = 1;
// switch 用来做等值判断 内部使用 == 进行判断
switch (rank) {
case 1:
System.out.println("1000");
break;
case 2:
System.out.println("500");
break;
case 3:
System.out.println("100");
break;
default:
System.out.println("-1");
break;
}
System.out.println("end");
}
1.2.2 其他数据类型
* switch对char类型变量 做等值判断
private static void method6() {
char rank = 'a';
switch (rank) {
case 'a':
System.out.println("1000");
break;
case 'b':
System.out.println("500");
break;
case 'c':
System.out.println("100");
break;
default:
System.out.println("-1");
break;
}
}
/*
* 对String类型的变量 做等值判断
* 小括号中表达式的值的数据类型只能是 byte short char int 包装类型,String,enum (枚举类型)
*/
private static void method7() {
String rank = "1";
// byte short char int 包装类型,String,enum (枚举类型)
switch (rank) {
case "1":
System.out.println("1000");
break;
case "2":
System.out.println("500");
break;
case "3":
System.out.println("100");
break;
default:
System.out.println("-1");
break;
}
}
switch和多重if区别:
- 区间判断用多重if
- 等值判断使用switch