Java流程控制02

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
  • 顺序结构是最简单的算法结构
  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,他是一个任何算法都离不开的一种基本算法结构

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.xiheya.struct;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 16:12
* @Description
*/
public class orderDemo01 {
public static void main(String[] args) {
System.out.println("helloworld1");
System.out.println("helloworld2");
System.out.println("helloworld3");
System.out.println("helloworld4");
}
}

因为Java的基本结构是顺序结构,所以会依次输出helloworld1234

输出结果:

顺序结构


选择结构

if单选择结构

  • 很多时候需要判断一个东西是否可行,然后再去执行,这个时候我们就需要用到if语句
  • 语法:
1
2
3
if(布尔表达式){
//如果布尔表达式为true就执行这里面的语句
}

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.xiheya.struct;

import java.util.Scanner;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 16:17
* @Description
*/
public class ifDemo01 {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();
if (s.equals("helloworld")){
System.out.println("helloworld");
}
System.out.println("End");
scanner.close();
}
}

因为是单判断语句,所以输出时会先判断输入的内容是否为helloworld,如果是的话就输出helloworld后输出End,如果不是就直接输出End

输出结果

输出结果2


if双选择结构

语法和单选择结构类似

1
2
3
4
5
if(布尔表达式){
//如果布尔表达式为true就执行这里面的语句
}else{
//如果布尔表达式为false就执行这里面的语句
}

设计一个程序,输入分数大于60时输出及格,否则输出不及格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.xiheya.struct;

import java.util.Scanner;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 16:27
* @Description
*/
public class IfDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩");
if (scanner.nextInt() > 60){
System.out.println("您的成绩及格");
} else{
System.out.println("您的成绩不及格");
}
scanner.close();
}
}


if多选择结构

语法:

1
2
3
4
5
6
7
8
9
if(布尔表达式 1){
//如果布尔表达式1为true就执行这里面的语句
}else if(布尔表达式 2){
//如果布尔表达式2为true就执行这里面的语句
}else if(布尔表达式 3){
//如果布尔表达式3为true就执行这里面的语句
}else{
//如果以上布尔表达式为false就执行这里面的语句
}

设计一个程序输入的分数为100时输出满分;90-100为A;80-90为B;70-80为C;60-70为D;小于60为不及格,其余成绩为不合法

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.xiheya.struct;

import java.util.Scanner;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 16:27
* @Description
*/
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

System.out.println("请输入成绩");
int score = scanner.nextInt();
if (score == 100){
System.out.println("满分!");
}else if(score < 100 && score >= 90){
System.out.println("A!");
}else if(score < 90 && score >= 80){
System.out.println("B!");
}else if(score < 80 && score >= 70){
System.out.println("C!");
}else if(score < 70 && score >= 60){
System.out.println("D!");
}
else if(score < 60 && score >= 0){
System.out.println("您的成绩不及格");
} else
{
System.out.println("成绩不合法");
}
scanner.close();
}
}


嵌套的if结构

  • 使用嵌套的if……else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句,你可以像if语句一样嵌套else if……else
  • 语法
1
2
3
4
5
6
if(布尔表达式1){
//如果布尔表达式为true就执行
if(布尔表达式2){
//如果布尔表达式2为true就执行
}
}

switch多选择结构

  • 多选择结构还有一个实现方式就是switch case语句
  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
  • 语法:
1
2
3
4
5
6
7
8
9
10
11
switch(expression){
case value :
//语句
break;//可选
case value :
//语句
break;//可选
//你可以有任意数量的case语句
default : //可选
//语句
}
  • switch 语句中的变量类型可以是
    • byte 、short、int或者char
    • 从Java SE 7开始 switch就支持字符串String型了
    • 同时case标签必须为字符串常量或字面量

设计一个程序,根据ABCD输出不同的评价。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.xiheya.struct;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 17:09
* @Description
*/
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'G';
switch (grade){
case 'A' :
System.out.println("优秀");
break;
case 'B' :
System.out.println("良好");
break;
case 'C' :
System.out.println("及格");
break;
case 'D' :
System.out.println("再接再厉");
break;
case 'E' :
System.out.println("挂科");
break;
default:
System.out.println("未知成绩");
}
}
}


Java SE 7 新特性

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.xiheya.struct;

/**
* @Author {xiheya}
* @Date: 2022/03/08/ 17:20
* @Description
*/
public class SwitchDemo02 {
public static void main(String[] args) {
String name = "hahaha";
switch (name){
case "xiheya":
System.out.println("right");
break;
case "hahaha":
System.out.println("error");
break;
default:
System.out.println("???");
}
}
}