Java的逻辑结构
在Java中的逻辑结构主要有三个:顺序结构、分支结构/选择结构、循环结构。
今天,我们在这里讲解顺序结构与分支结构。
1.顺序结构
顺序结构的形式较为简单,即运行程序的时候一行一行执行。
System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
//运行结果
aaa
bbb
ccc
如果将代码的顺序调整,那么执行输出的顺序也将发生改变。
例如:
System.out.println("bbb");
System.out.println("aaa");
System.out.println("ccc");
//运行结果
bbb
aaa
ccc
2.分支结构
2.1 if语句
- if(条件语句){} 单分支
if(布尔表达式){
//语句
}
如果布尔表达式结果为true,执行if中的语句,否则不执行。
例如:
int a = 10;
if(a > 5){
System.out.println(a + "大于5");
}
- if else 双分支
if(布尔表达式){
// 语句1
}else{
// 语句2
}
如果布尔表达式结果为true,则执行if中语句,否则执行else中语句。
例如:
int a = 3;
if(a > 5){
System.out.println(a + "大于5");
}else{
System.out.println(a + "小于5");
}
- if else if 多分支
if(布尔表达式1){
// 语句1
}else if(布尔表达式2){
// 语句2
}else{
// 语句3
}
表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。
例如:
- 分数在 [90, 100] 之间的,为优秀
- 分数在 [80, 90) 之前的,为良好
- 分数在 [70, 80) 之间的,为中等
- 分数在 [60, 70) 之间的,为及格
- 分数在 [ 0, 60) 之间的,为不及格
- 分数错误
int score = 78;
if(score >= 90 && score <= 100){
System.out.println("优秀");
}else if(score >= 80){
System.out.println("良好");
}else if(score >= 70){
System.out.println("中等");
}else if(score >= 60){
System.out.println("及格");
}else if(score >= 0 && score < 60 ){
System.out.println("不及格");
}else{
System.out.println("成绩无效");
}
注意:
- 在Java中推荐{ 放在 if / else 同一行。
- if语句后面没有分号,这个与C语言中相同。
- if / else 语句中可以不加 大括号 .,但是也可以写语句(只能写一条语句), 此时 ** else ** 是和**最接近的 if ** 匹配,这个也与C语言中相同。
呀吼! 不用再记了
2.2 switch语句
语法
switch(表达式){
case 常量值1:{
语句1;
[break;]
}
case 常量值2:{
语句2;
[break;]
}
...
default:{
内容都不满足时执行语句;
[break;]
}
}
执行步骤
- 先计算switch里的表达式的值。
- 与case依次比较,一旦相同就执行该项下的语句,直到遇到break结束。
- 当表达式的值没有与所列项匹配时,执行default。
例如:
int day = 5;
switch (day){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入有误");
break;
}
注意
- 多个case后的常量值不可以重复。
- switch的括号内只能是以下类型的表达式:
- 基本类型:byte、char、short、int,注意不能是long类型
- 引用类型:String常量串、枚举类型
- 不要遗落break。
- switch 虽然支持嵌套,但是不推荐。
今天就到这里啦