选择结构
if选择结构
为什么需要if选择结构
实际生活中会遇到一些情景需要根据条件判断之后再做下一步处理
if的判断条件
- 多个条件之间用逻辑运算符连接,具体逻辑运算符用法可以参考我的博客《Java学习之变量、数据类型和运算符》
- 字符串是否相等比较:变量.equals(“需要比较的字符串”);字符串在栈中存放的是地址,实际内容存放在常量池中,直接用比较运算符的话比较的是地址
基本的if选择结构
流程控制图
语法
if ( 条件 ) {
//代码块
}
if-else选择结构(双分支结构)
流程控制图
语法
if ( 条件 ) {
//代码块1
}else {
//代码块2
}
多重if选择结构(多分支结构)
语法
if ( 条件 1) {
//代码块1
}
else if ( 条件2 ) {
//代码块2
}
else {
//代码块3
}
嵌套if选择结构
语法
if(条件1) {
if(条件2) {
代码块1
} else {
代码块2
}
} else {
代码块3
}
switch选择结构
语法
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;
…
default:
语句;
}
特点
- 等值判断
- switch后面小括号中表达式的值必须是整型或字符型,枚举类型,jdk7及以后也可以是字符串类型
- 通常,default块放在末尾,也可以省略
4.break不能省略,否则会不进行匹配继续执行,直到遇到break
和if比较
5.同时匹配多个case的情况
//下列代码根据名次ranking的值判断学生可以获得的奖励,第一名和第二名时奖励相同
//下列代码中匹配了case1或case2都可以参加夏令营和获得笔记本
switch (ranking) {
case 1:
case 2:
System.out.println("参加夏令营");
System.out.println("奖励笔记本");
break;
case 3:
System.out.println("奖励硬盘");
break;
default:
System.out.println("没有奖励");
break;
}
与多重if选择结构区别
1.switch适用于等值判断;
2.if适用于连续区间判断