流程控制语句概览
在默认程序中是顺序结构,从上往下依次执行;用思维导图,结构化核心概念。
分支语句
if语句(判断条件最终必须为:布尔类型值)
1 简单if语句格式:
语句格式:
if (判断条件){
语句体; //判断条件成立执行语句体;
}
int nub1 = 1; int nub2 = 2; if(nub1>nub2){ System.out.println("执行了语句体"); //判断条件为false,此语句不执行; }
2 if…else语句格式
语句格式:
if (判断条件){
语句体1; //判断条件成立执行语句体1;
}else{
语句体2; //判断条件不成立执行语句体2;
}
int nub1 = 1; int nub2 = 2; if(nub1>nub2){ System.out.println("执行了语句体1"); //判断条件为false,此语句不执行体; }else{ System.out.println("执行了语句体2"); //判断条件为false,执行此语句体; }
3 if…else if…else…语句格式
语句格式:
if (判断条件1){
语句体1; //判断条件成立执行语句体1;
}else if(判断条件2){
语句体2; //判断条件1不成立,判断条件2成立,执行语句体2;
}else{
语句体3; //判断条件1和2都不成立执行语句体3;
}
/* 考试奖励: 分数>=90:奖励自行车一辆 90>分数>=80:奖励游乐园一日游 80>分数:一顿狂揍 */ public class IfTest { public static void main(String[] args) { int chengji; Scanner sc = new Scanner(System.in); System.out.println("请输入成绩:"); chengji = sc.nextInt(); if (chengji <=100 && chengji>=0){ if (chengji>=90){ System.out.println("恭喜!奖励自行车一辆!"); }else if (chengji>=80 && chengji<90){ System.out.println("恭喜!奖励游乐园一日游!"); }else{ System.out.println("来吧一顿接受狂揍!"); } }else{ System.out.println("成绩输入有误!"); } } }
switch语句
switch语句格式:
switch(){
case 1:
语句体1;
break;
case 2:
语句体2;
break;
case 3:
语句体3;
break;
.
.
.
default:
默认值语句体;
break;
}
1 注意事项:jdk特性与week的取值范围
基本类型:byte、short、int、long
引用类型:jdk5开始,允许枚举类型;jdk7开始,允许String
jdk14开始允许,一个case 后跟多个值:case 1,2,3:
if与switch选用:范围性的判断用if;固定值判断用switch;
switch(week){ case 1: // 语句体1; break; case 2: // 语句体2; break; case 3: // 语句体3; break; default: // 默认语句体; break; }
2 case穿透(可以优化代码)
case穿透示例:如果有多个重复的语句体可以使用case穿透
switch(week){ case 1: case 2: case 3: //重复语句体; break; default: break; }
3 jdk14以后新特性(可以优化代码)
case穿透示例:如果有多个重复的语句体可以使用case穿透
switch(week){ case 1,2,3: //重复语句体; break; default: break; }