????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

时间:2023-03-09 09:32:22
????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

一、本单元知识点概述

????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

二、本单元目标

(Ⅰ)重点知识目标

1.if语句的格式及执行流程
2.switch语句的格式及执行流程

(Ⅱ)能力目标

1.掌握if语句的格式及执行流程
2.掌握switch语句的格式及执行流程
3.了解case的穿透性

三、本单元知识详讲

4.1 流程控制

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果

有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现

我们要完成的功能。

4.1.1 顺序结构的概述★★★

根据代码编写的顺序,从上到下运行。

4.1.2 顺序结构的执行顺序★★★

案例演示:

1 public static void main(String[] args){
2 //顺序执行,根据编写的顺序,从上到下运行
3 System.out.println(1);
4 System.out.println(2);
5 System.out.println(3);
6 }

4.2 判断语句

4.2.1 if语句的格式★★

if语句第一种格式:

1 if(关系表达式){
2 语句体;
3 }

4.2.2 if语句的执行流程★★★

执行流程

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体

如果是false就不执行语句体

????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

案例演示:

 1 public static void main(String[] args){
2 System.out.println("开始");
3 // 定义两个变量
4 int a = 10;
5 int b = 20;
6 //变量使用if判断
7 if (a == b){
8 System.out.println("a等于b");
9 }
10 int c = 10;
11 if(a == c){
12 System.out.println("a等于c");
13 }
14 System.out.println("结束");
15 }

4.2.3 if...else语句的格式★★

if语句第二种格式:

1 if(关系表达式) {
2 语句体1;
3 }else {
4 语句体2;
5 }

4.2.4 if...else语句的执行流程★★★★

执行流程

首先判断关系表达式看其结果是true还是false

如果是true就执行语句体1

如果是false就执行语句体2

????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

案例演示:

 1 public static void main(String[] args){
2 // 判断给定的数据是奇数还是偶数
3 // 定义变量
4 int a = 1;
5 if(a % 2 == 0) {
6 System.out.println("a是偶数");
7 } else{
8 System.out.println("a是奇数");
9 }
10 System.out.println("结束");
11 }

4.2.5 if..else if...else语句的格式★★

if语句第三种格式:

 1 if (判断条件1) {
2 执行语句1;
3 } else if (判断条件2) {
4 执行语句2;
5 }
6 ...
7 else if (判断条件n) {
8 执行语句n;
9 } else {
10 执行语句n+1;
11 }

4.2.6 if..else if...else语句的执行流程★★★

执行流程

首先判断关系表达式1看其结果是true还是false

如果是true就执行语句体1

如果是false就继续判断关系表达式2看其结果是true还是false

如果是true就执行语句体2

如果是false就继续判断关系表达式…看其结果是true还是false

如果没有任何关系表达式为true,就执行语句体n+1。

????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

案例演示:

 1 public static void main(String[] args) {
2 // x和y的关系满足如下:
3 // x>=3 y = 2x + 1;
4 //‐1<=x<3 y = 2x;
5 // x<=‐1 y = 2x – 1;
6 // 根据给定的x的值,计算出y的值并输出。
7 // 定义变量
8 int x = 5;
9 int y;
10 if (x>= 3) {
11 y = 2 * x + 1;
12 } else if (x >= ‐1 && x < 3) {
13 y = 2 * x;
14 } else {
15 y = 2 * x ‐ 1;
16 }
17 System.out.println("y的值是:"+y); }

4.2.7 判断语句案例★★★

指定考试成绩,判断学生等级

90-100 优秀

80-89 好

70-79 良

60-69 及格

60以下 不及格

4.2.8 代码演示★★★

 1 public static void main(String[] args) {
2 int score = 100;
3 if(score<0 || score>100){
4 System.out.println("你的成绩是错误的");
5 }else if(score>=90 && score<=100){
6 System.out.println("你的成绩属于优秀");
7 }else if(score>=80 && score<90){
8 System.out.println("你的成绩属于好");
9 }else if(score>=70 && score<80){
10 System.out.println("你的成绩属于良");
11 }else if(score>=60 && score<70){
12 System.out.println("你的成绩属于及格");
13 }else { System.out.println("你的成绩属于不及格");
14 }
15 }

4.3 选择语句

4.3.1 switch语句格式★★

switch语句格式:

switch(表达式) {
    case 常量值1:
            语句体1;
            break;
    case 常量值2:
            语句体2;
            break;
        ...
    default:
            语句体n+1;
            break;
    }

4.3.2 switch执行流程★★★★

执行流程

首先计算出表达式的值

其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结

束。

最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

????‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程????‍????004 # 第四单元 流程控制语句上 #

案例演示:

 1 public static void main(String[] args) {
2 //定义变量,判断是星期几
3 int weekday = 6;
4 //switch语句实现选择
5 switch(weekday) {
6 case 1:
7 System.out.println("星期一");
8 break;
9 case 2:
10 System.out.println("星期二");
11 break;
12 case 3:
13 System.out.println("星期三");
14 break;
15 case 4:
16 System.out.println("星期四");
17 break;
18 case 5:
19 System.out.println("星期五");
20 break;
21 case 6:
22 System.out.println("星期六");
23 break;
24 case 7:
25 System.out.println("星期日");
26 break;
27 default:
28 System.out.println("你输入的数字有误");
29 break;
30 }

switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举),JDK7后可以接收字符串。

4.3.3 case的穿透性★★★★

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运

行,直到遇到break,或者整体switch结束。

 1 public static void main(String[] args) {
2 int i = 5;
3 switch (i){
4 case 0:
5 System.out.println("执行case0");
6 break;
7 case 5:
8 System.out.println("执行case5");
9 case 10:
10 System.out.println("执行case10");
11 default:
12 System.out.println("执行default");
13 }

上述程序中,执行case5后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接

运行完整体switch。

由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。

四、本单元知识总结

1. if语句的格式及执行流程。
2. switch语句的格式及执行流程。