三大控制结构
1.顺序
按顺序逐句执行
2.分支
if 判断语句 三种格式
if(关系表达式) { // " { " 写在 if 的末尾
语句体; //关系表达式 true 执行语句体 否则不执行
// 对boolean类型变量进行判断,直接 if(boolean)
}
if(关系表达式){ //2选1
语句体1; //关系表达式 true 执行语句体1
}else{
语句体2; //否则 执行语句体2
}
//if嵌套 if里面还有if
if(关系表达式1){
语句体1;
}else if(关系表达式2){
语句体2;
}else if(关系表达式3){
语句体3;
}else{
语句体4;//逐步判断 都不满足 执行语句体4
} //用于对范围的判断
switch 选择结构
switch(表达式){ //表达式是即将匹配的值 byte short int char
case 值1: //值只能是字面量,不能是变量
语句体1;
break; //break 退出整个switch语句
case 值2:
语句体1;
break;
case 值3: //case 后的值不能重复
语句体1;
break;
default: //所有case情况不满足 执行default 可以省略不写 但不建议
语句体;
break;//不写break 会导致case穿透 代码一直执行直到遇到break/}
//当case语句体重复时,可以利用case穿透
} //用于有限数据列举,任选其一
新特性
Switch(num){
case 1->{语句体} //只有一句语句时 {}可以省略
case 2->{语句体}
case 3->{语句体}
default->{语句体}
}//不写break 不会发生case穿透
switch(n){
case 1,2,3,4,5->System.out,println("工作日");
case 6,7->System.out,println("休息日");
default->System.out,println("不存在");
}
循环
for循环
for(int i = 0; i<n ; i++){
语句体;
} //知道循环的次数/循环的范围
while循环
while(条件判断语句)
{
语句体;
} //不知道循环次数和范围,知道结束条件
do...while
do{
语句体;
}
while(判断语句); //先执行语句体,再判断
跳转控制语句
关键字 break 结束整个循环 coutinue 跳过(结束) 本次循环,继续下次循环
需求分析 ---> 代码结构 !!!
退出多层循环
loop: while(true){
Switch(){
break loop; // 方法1 标号
System.exit(0); //方法2 停止虚拟机运行
}
}