喵星之旅-成长的雏鹰-java语言基础-3-选择结构

流程控制用来控制程序中各语句的执行顺序

if分支结构

基本的if选择结构

语法:

1
2
3
if ( 条件 ) { 
//代码块
}

示例:

1
2
3
4
5
6
Scanner input = new Scanner(System.in); 
System.out.print("输入bunny的Java成绩: "); //提示要输入Java成绩
int score = input.nextInt(); //从控制台获取Java成绩
if ( score > 95 ) { //判断是否大于90分
System.out.println("老师说:不错,奖励一个5!");
}

复杂条件的if选择结构

示例:

1
2
3
4
5
6
7
8
Scanner input = new Scanner(System.in); 
System.out.print("输入bunny的Java成绩: "); //提示要输入Java成绩
int score1 = input.nextInt(); //从控制台获取Java成绩
System.out.print("输入bunny的音乐成绩: "); //提示要输入音乐成绩
int score2 = input.nextInt(); //从控制台获取音乐成绩
if ((score1>95 && score2>90) || (score1==100 && score2>80)) {
System.out.println("老师说:不错,奖励一个!");
}

结合运算符的优先级编写条件

1
2
3
4
5
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性

if-else选择结构

语法:

1
2
3
4
5
6
if ( 条件 ) { 
//代码块1
} else {
//代码块2
}

示例:

1
2
3
4
5
6
7
8
Scanner input = new Scanner(System.in); 
System.out.print("输入bunny的Java成绩: "); //提示要输入Java成绩
int score = input.nextInt(); //从控制台获取Java成绩
if ( score > 95 ) {
System.out.println("老师说:不错,奖励一个!");
}else{
System.out.println("老师说:你这不行啊!");
}

多重if选择结构

语法:

1
2
3
4
5
6
7
8
9
10
if ( 成绩>=95) { 
//代码块1
}
else if (成绩>=60) {
//代码块2
//else if可以有多个,但是里面条件应当不同
}
else {
//代码块3
}

示例:

1
2
3
4
5
6
7
8
9
10
Scanner input = new Scanner(System.in); 
System.out.print("请输入考试成绩: "); //提示要输入考试成绩
int score = input.nextInt(); //从控制台获取成绩
if (score >= 95) { // 考试成绩>=95
System.out.println("优秀");
} else if (score >= 60) { // 95>考试成绩>=60
System.out.println("及格");
} else { // 考试成绩<60
System.out.println("差");
}

使用多重if选择语句处理问题时需要注意顺序

嵌套if选择结构

嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性。前面的所有if相关语句块都可以当成一条普通语句放入if中,可以随意组合。
示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Scanner input = new Scanner(System.in);
System.out.print("请输入比赛成绩(s):");
double score = input.nextDouble();
System.out.print("请输入性别:");
String gender = input.next();
if(score>10){
if(gender.equals("男")){
System.out.println("进入男子组决赛!");
}else if(gender.equals("女")){
System.out.println("进入女子组决赛!");
}
}else{
System.out.println("淘汰!");
}

switch分支结构

语法:

1
2
3
4
5
6
7
8
9
10
11
12
switch (表达式) {
case 常量 1:
语句;
break;
case 常量 2:
语句;
break;

default:
语句;
}

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int mingCi = 1;  //名次
switch (mingCi){
case 1:
System.out.println("参观清华大学计算机学院");
break;
case 2:
System.out.println("奖励习题集十册");
break;
case 3:
System.out.println("奖励习题集一册");
break;
default:
System.out.println("没有任何奖励");
}

注意事项:

1
2
3
4
5
表达式只能是int类型或者可以自动转换成int类型的数据,jdk8之后可以识别字符串类型(实际也是转换成int);
如果需要每个case执行完后跳出,在每个case后不要忘记写break;
case后的常量值不能相同;
default块顺序可以变动,但要注意其执行顺序,通常,default块放在末尾,也可以省略;
只能处理等值条件判断的情况。
文章目录
  1. if分支结构
    1. 基本的if选择结构
    2. 复杂条件的if选择结构
    3. if-else选择结构
    4. 多重if选择结构
    5. 嵌套if选择结构
  2. switch分支结构
|