03、Java选择结构
1、选择结构
概念:根据已知条件进行逻辑判断,满足条件后执行相应操作
2、if选择结构
语法:
if(布尔表达式){
//代码块
}
执行流程:
对布尔表达式进行判断。
结果为true,则先执行代码块,再执行后续代码。
结果为false,则跳过代码块,,直接执行后续代码。
if (3 > 2) {
System.out.println("if的代码块");
}
System.out.println("程序结束..….");
3、if else 选择结构
语法:
if(布尔表达式){
//代码块1
}else{
//代码块2
}
执行流程:
对布尔表达式进行判断。
结果为true,则先执行代码块1,再退出整个结构,执行后续代码。
结果为false,则先执行代码块2,再退出整个结构,执行后续代码。
double score = 100.0;
if (score == 100.0) {
System.out.println("恭喜,满分");
} else {
System.out.println("抱歉,罚抄");
}
System.out.println("程序结束...");
4、多重if选择结构
语法:
if(布尔表达式1){
//代码块1
else if(布尔表达式2){
//代码块2
}else if(布尔表达式3){
//代码块3
}else{
//代码块4
}
执行流程:
表达式1为true,则执行代码块1,再退出整个结构。
表达式2为true,则执行代码块2,再退出整个结构。
表达式3为true,则执行代码块3,再退出整个结构。
以上均为false,则执行代码块4,再退出整个结构。
注意:相互排斥,有一个为true,其他均不再执行,适用于区间判断。
/*
根据预算金额选购车辆
预算>100万奔驰S级预算>50万宝马5系预算>10万
奥迪A4L
预算<10万捷安特自行车
*/
int money = 110;//单位:万
if (money > 100) {
System.out.println("奔驰S级");
} else if (money > 50) {
System.out.println("宝马5系");
} else if (money > 10) {
System.out.println("奥迪A4L");
} else {
System.out.println("捷安特自行车");
}
System.out.println("程序结束….");
5、嵌套if选择结构
语法:
if(外层表达式){
if(内层表达式){
//内层代码块1
}else{
//内层代码块2
}
}else{
//外层代码块
}
执行流程:
当外层条件满足时,再判断内层条件。
注意:
一个选择结构中,可嵌套另一个选择结构。
嵌套格式正确的情况下,支持任意组合。
/*
运动会百米赛跑
用时10秒之内的人进入总决赛,否则淘汰
*/
int timer = 9;
char sex = '男';
if (timer <= 10)//外层条件
//进入总决赛
if (sex == '男') {//内层条件
System.out.println("男子组决赛");
} else {
System.out.println("女子组决赛");
}
else {
System.out.println("淘汰");
}
6、分支结构
语法:
switch(变量|表达式){
case值1:
逻辑代码1;
case值2:
逻辑代码2;
case值n:
逻辑代码n;
default:
未满足时的逻辑代码;
}
可判断的类型:
byte、short、 int、char、String (JDK7+)
执行流程:
如果变量中的值等于值1,则执行逻辑代码1。
如果变量中的值等于值2,则执行逻辑代码2。
如果变量中的值等于值n,则执行逻辑代码n。
如果变量中的值没有匹配的case值时,执行default中的逻辑代码。
注意:当匹配的case执行后,不会自动退出整个结构,而是继续向下执行。
break关键字可在匹配的case执行后,跳出整个结构。
适用等值判断
/*
星期一:湘菜
星期二:川菜
星期三:粤菜
星期四:浙菜
星期五:川菜
星期六:川菜
星期日:徽菜
*/
int weekDay = 1;
switch (weekDay) {//根据weekDay的值,找到匹配的case,并执行逻辑代码
case 1:
System.out.println("湘菜");
break;
case 3:
System.out.println("粤菜");
break;
case 4:
System.out.println("浙菜");
break;
case 2:
case 5:
case 6:
System.out.println("川菜");
break;
case 7:
System.out.println("徽菜");
break;
default:
System.out.println("请输入1-7之间的整数");
break;
}
System.out.println("程序结束。。。");
7、局部变量
概念:
声明在方法内部的变量,必须先赋值再使用。
作用范围:
定义行开始到所在的代码块结束。
注意:
多个变量,在重合的作用范围内,不可出现重名(命名冲突)。
int a = 10;//局部变量的声明,必须先赋值再使用
System.out.println(a);
if (1 == 1) {
int b = 20;//局部变量超出作用范围之后,会立即回收
System.out.println(b);
}
//System.out.println(b);
if (1 == 1) {
// short a = 30;
System.out.println(a);
}
// short a = 30;
8、总结
基本if选择结构:
if(){ }
if else选择结构:
if( ){ }else{ }。
多重if选择结构:
if( ){ } else if(){ } else if( ){ }else { }
嵌套if选择结构:
if(){ if(){ }}。
switch分支结构:
switch(){ }
局部变量:
声明在方法内部的变量,必须先赋值再使用。

浙公网安备 33010602011771号