分支语句、循环语句
switch
作用: 选择分支去执行代码
格式:switch(值){
case 值1:
语句体;
break;
case 值2:
语句体;
break;
....
default:
语句体;
}
执行流程:
- 用switch后面的值去匹配 case后面的值,
- 如果匹配上了就执行对应的语句体,
- 如果没有匹配上就执行default,
- 在swtich里面,遇到break,switch就结束了
特点:
switch后面的值的类型:byte short char int 枚举 String
- case后面接的值是不能相同的,只能是字面量,不能是变量
- case后面如果不加break就会出现穿透现象
- 可以把case内容相同的代码,写在一个case 里面,然后其他的就通过case的穿透去执行,简化代码
if
作用: 用于程序的判断
分类一: 用于一种情况的判断
格式:
if( 判断条件){
满足条件执行的内容;
}
执行流程:
- 先执行条件判断,如果判断满足,则执行if后面的内容,
- 如果判断不满足,就直接结束if,程序继续往下执行
分类二: 用于两种情况的判断
格式:
if(判断条件){
满足条件执行的内容
}else{
不满足条件执行的内容
}
执行流程:
- 先执行判断条件,如果判断结果为true,就会执行if后面的内容,
- 如果判断结果为false,就执行else里面的内容
分类三: 用于多种情况的判断
格式:
if(){
}else if(){
}else if(){
}else if(){
}...else{
}
执行流程:
- 从上往下执行判断,只要有一个判断结果为true,就执行对应的语句体,
- 如果所有的判断都为false,就执行else
for
作用:
- 重复执行某一段代码
- 获取一个范围的数据
格式:
for( 初始化语句 ①; 循环条件 ②; 迭代语句③){
循环体语句 ④;
}
执行流程: 1 -> 2 -> 4 -> 3 -> 2 -> 4 ->3 .... 直到2的判断为false,循环结束
使用场景: 在明确循环次数的时候
while
作用:
- 重复执行某一段代码
- 获取一个范围的数据
- 格式:
- 初始化语句; ①
- while(循环条件 ②){
- 循环体语句;③
- 迭代语句;④
- }
- 执行流程: 1 -> 2 -> 3 -> 4 -> 2 .... 直到2的判断为false 循环结束
- 使用场景: 不明确循环次数的时候
do...while
作用:
- 重复执行某一段代码
- 获取一个范围的数据
格式:
初始化语句;①
do{
循环体语句;③
迭代语句;④
}while(循环条件②);
执行流程: 1 -> 3 -> 4 -> 2 -> 3 ->4 ...直到2的判断为false,循环结束
执行特点: 先执行一次,后判断
死循环
概念: 可以一直执行下去的循环
格式:
- for( ;; ){}
- while(true){}
- do{}while(true);
使用场景:
- 做服务器
- 不明确循环次数的时候 , 需要加上 break
循环嵌套
概念: 循环里面有循环
格式:
for(){
for(){
}
执行流程: 先执行一次外部循环,再执行一轮内部循环
跳转控制语句
break: 结束当前的循环
continue: 跳过本次循环的执行,进入到下一次循环