4. if条件结构
4.1 简单if
简单if
语句的基本语法是:
if (条件) {
// 条件满足时执行
}
根据if
的计算结果(true
还是false
)来决定是否执行if
语句块。
代码示例:
public void test01(){
// 1.1 获取当前时间的小时数
int hour = LocalDateTime.now().getHour();
System.out.println("hour = " + hour);
// 1.2 判断小时数是否大于12,如果大于则打印下午好
if(hour > 12){
System.out.println("下午好!");
}
}
4.2 if…else结构
if...else
结构语句的语法是:
if (条件) {
// 条件满足时执行
}else{
// 条件不满足时执行
}
代码示例:
public void test02(){
// 1.1 获取当前时间的小时数
int hour = LocalDateTime.now().getHour();
// 1.2 判断小时数,如果大于12点,打印下午好,否则,打印上午好
if(hour > 12){
System.out.println("下午好");
}else{
System.out.println("上午好");
}
}
4.3 多重if结构
多重if
结构语句的语法是:
if (条件) {
// 条件满足时执行
}else if (条件) {
// 条件满足时执行
}else if (条件) {
// 条件满足时执行
}...{
// 条件满足时执行
}else{
// 所有条件都不满足时执行
}
代码示例:
public void test03(){
// 1.1 获取当前时间的小时数
int hour = LocalDateTime.now().getHour();
// 1.2 根据小时数打印评语信息
if(hour < 9){
System.out.println("早上好");
}else if (hour < 12){
System.out.println("上午好");
}else if(hour < 14){
System.out.println("中午好");
}else if(hour < 18){
System.out.println("下午好");
}else{
System.out.println("晚上好");
}
}
5. switch…case结构
switch
语句的语法是:
switch (表达式){
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
case 常量表达式3:
语句3;
break;
...
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
switch…case结构语法:
1、switch结构后只能是char, byte, short, int, Character, Byte, Short, Integer, String, enum,唯独不能是long型。
2、case后的常量值不能重复,否则会报错!
3、每个case后都有一个break语句,如果某个判断成立就执行对应的case后面的语句块,遇到break就退出这个switch结构。如果省略了break,则程序一直向下执行,直到遇到break才停止。
4、default:代表所有的条件都不成立时执行的代码块,可以放在switch…case结构程序的任意地方,我们一般习惯放在最后。
代码示例:
public static void main(String[] args) {
test01();
}
/**
* 根据输入的字符判断是否是元音字母?
* 方法一:不省略break
*/
private static void test01() {
// 1. 定义键盘扫描器对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字母:");
String ch = scanner.next();
// 2. 开始判断是否是元音字母
switch (ch){
case "a":
System.out.println("a是一个元音字母。");
break;
case "e":
System.out.println("e是一个元音字母。");
break;
case "i":
System.out.println("i是一个元音字母。");
break;
case "o":
System.out.println("o是一个元音字母。");
break;
case "u":
System.out.println("u是一个元音字母。");
break;
default:
System.out.println(ch + "不是一个元音字母。");
break;
}
}
/**
* 方法二:省略break简化代码书写
*/
private static void test02() {
// 1. 定义键盘扫描器对象
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字母:");
String ch = scanner.next();
// 2. 开始判断是否是元音字母
// 2. 开始判断是否是元音字母
switch (ch){
case "a":
case "e":
case "i":
case "o":
case "u":
System.out.println(ch + "是一个元音字母。");
break;
default:
System.out.println(ch + "不是一个元音字母。");
break;
}
}
switch…case结构与if结构比较:
1、switch…case结构只适用于等值比较,让程序看上去可读性更好一点。
2、if结构代表一个范围值的比较,能用switch…case结构的一定能用if结构。