什么是选择结构?
选择结构是当给定判断条件时,根据条件来判断是否满足某些条件,如果满足实行提前规定好的一段代码,反之执行另一代码的一种结构体。
if语句
if语句基本结构:if(判断条件){ 满足条件后执行语句 }
public void test01() {
boolean snow = true;
if (snow) {
System.out.println("今天不上课");
}
System.out.println("程序执行结束");
}
当前结果snow = true;
运行结果为
今天不上课
程序执行结束
如果snow = false;
运行结果为
程序执行结束
if...else...语句
if...else...语句基本结构:if(判断条件){ 满足条件 } else { 不满足判断条件需要执行的语句 }
public void test02() {
boolean snow = true;
if (snow) {
System.out.println("今天不上课");
} else {
System.out.println("今天上课");
}
System.out.println("程序执行结束");
}
当前结果snow = true;
运行结果为
今天不上课
程序执行结束
如果snow = false;
运行结果为
今天上课
程序执行结束
else if 语句
else if 语句结构:if(){ } else if (){ }
public void test03(){
Random random = new Random();
int i = random.nextInt( 7);
System.out.println(i);
if (i == 1){
System.out.println("星期一");
}else if (i == 2){
System.out.println("星期二");
}else if (i == 3){
System.out.println("星期三");
}else if (i == 4){
System.out.println("星期四");
}else if (i == 5){
System.out.println("星期五");
}else if (i == 6){
System.out.println("星期六");
} else {
System.out.println("星期日");
}
System.out.println("程序执行结束");
}
三目运算符
语法结构:表达式1?表达式2:表达式3;
public void test04() {
// 需求:
// 如果gender的值为true则sex的值为 精神小伙儿
// 如果gender的值为false则sex的值为 扒蒜老妹儿
boolean gender = false;
String sex;
if (gender) {
sex = "精神小伙儿";
} else {
sex = "扒蒜老妹儿";
}
System.out.println("性别 >>> " + sex);
System.out.println("程序执行结束");
}
简写版
public void test05() {
// 需求:
// 如果gender的值为true则sex的值为 精神小伙儿
// 如果gender的值为false则sex的值为 扒蒜老妹儿
boolean gender = false;
String sex = gender == true ? "精神小伙儿" : "扒蒜老妹儿";
System.out.println("性别 >>> " + sex);
System.out.println("程序执行结束");
}
switch语句
语法结构:
switch(常量表达式){
case(常量1):执行语句
break;
case(常量2):执行语句
break;
......
case(常量n):执行语句
break;
default:执行语句
break;
}
public void test06() {
// 需求:
// 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
// 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
Random random = new Random();
int i = random.nextInt(7);
System.out.println(i);
switch (i) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
default:
System.out.println("星期日");
break;
}
System.out.println("程序执行结束");
}
简写版(jdk版本高的可以尝试下)
public void test07() {
// 需求:
// 随机生成0到7之间不包含7的整数 0 1 2 3 4 5 6
// 如果这个数字是0 则输出今天是星期日 如实是1则输出星期一 如果是2则输出星期二 以此类推
Random random = new Random();
int i = random.nextInt(7);
System.out.println(i);
switch (i) {
case 1 -> System.out.println("星期一");
case 2 -> System.out.println("星期二");
case 3 -> System.out.println("星期三");
case 4 -> System.out.println("星期四");
case 5 -> System.out.println("星期五");
case 6 -> System.out.println("星期六");
default -> System.out.println("星期日");
}
System.out.println("程序执行结束");
}
总结
else if 写法更加简洁。
switch语句主要用于点对点的条件判断,if语句除了能进行点对点的条件判断更多的是进行区间范围判断。