if-else 结构
- 格式 1
if(条件表达式){
语句块;
}
- 格式 2
if(条件表达式){
语句块1;
}else{
语句块2;
}
- 格式 3
if (条件表达式1) {
语句块1;
} else if (条件表达式2) {
语句块2;
}
...
}else if (条件表达式n) {
语句块n;
} else {
语句块n+1;
}
switch-case
- 在特殊的场景下,分支结构可以考虑使用 switch-case
- 指定的数据类型:byte short char int ; 枚举类(jdk5.0) String (jdk7.0)
- 可以考虑的常量值有限且取值情况不多
- 特别之处:case 穿透
- 在能使用 switch-case 的情况下,推荐使用 switch-case,因为比 if-else 效率稍高
- 基本语法
switch(表达式){
case 常量1:
case 常量2:
...
default:
}
for
- 循环结构的 4 个要素
- 初始化条件
- 循环条件(是 boolean 类型)
- 循环体
- 迭代条件
- 应用场景:有明确的遍历的次数
- 基本语法
for(①;②;④){
③
}
while
- 应用场景:没有明确的遍历次数。
- 基本语法
①
while(②){
③
④
}
do-while
- 至少会执行一次循环体
- 开发中,使用的较少
- 基本语法
①
do{
③
④
}while(②);
“无限”循环
- 格式: while(true) 或 for(;
- 开发中,有时并不确定需要循环多少次,需要根据循环体内部某些条件,来控制循环的结束(使用 break)
- 如果此循环结构不能终止,则构成了死循环!开发中要避免出现死循环
嵌套循环
- 嵌套循环:是指一个循环结构 A 的循环体是另一个循环结构 B
- 外层循环:循环结构 A
- 内层循环:循环结构 B
- 说明
- 内层循环充当了外层循环的循环体
- 对于两层嵌套循环来说,外层循环控制行数,内层循环控制列数
- 举例:外层循环执行 m 次,内层循环执行 n 次,则内层循环的循环体共执行 m * n 次
- 实际开发中,我们不会出现三层以上的循环结构,三层的循环结构都很少见
关键字 break、continue
- break 在开发中常用;而 continue 较少使用
- 笔试题:break 和 continue 的区别
|
使用范围 |
在循环结构中的作用 |
相同点 |
break |
循环结构中 |
结束(或跳出)当前循环结构 |
在此关键字的后面不能声明执行语句 |
contuiue |
循环结构中 |
结束(或跳出)当次循环 |
在此关键字的后面不能声明执行语句 |
Scanner 类的使用
- 使用 Scanner 获取不同类型数据的步骤
- 导包 import java.util.Scanner;
- 提供(或创建)一个 Scanner 类的实例
- 调用 Scanner 类中的方法,获取指定类型的变量 (nextXxx())
- 关闭资源,调用 Scanner 类的 close()
- Scanner 类中提供了获取 byte short int long float double boolean String 类型变量的方法
有提供获取 char 类型变量的方法。需要使用 next().charAt(0)
获取随机数
- 使用 Java 提供的 API:Math 类的 random()
- random() 调用以后,会返回一个[0.0,1.0) 范围的 double 型的随机数