一、本单元知识点概述

二、本单元目标

(Ⅰ)重点知识目标

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就不执行语句体

案例演示:

 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

案例演示:

 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。

案例演示:

 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语句体部分,然后程序结束掉。

案例演示:

 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语句的格式及执行流程。

🧚‍♂️全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👨‍💻004 # 第四单元 流程控制语句上 #的更多相关文章

  1. 2019年最新超级有趣好玩的html+css网页布局课程,前端入门基础,html5+css3零基础入门课程-黑马程序员pink老师精心录制

    大家好,我是黑马程序员pink老师!! 本次视频是前端零基础入门的课程,pink老师采取有趣好玩讲法,带你快乐的学习枯燥的html+css知识,学完之后让你能快速布局pc端页面.代码也可以讲的好玩有趣 ...

  2. PHP开发人员对JAVA的WEB开发入门(初版-基础知识)

    最近准备对其他部门PHP开发的童鞋做一个对JAVA的培训.知己知彼,百战不殆,我要先了解点PHP,才能确认他们的基础,达到好的授课效果. PHP(原始为Personal Home Page的缩写,后正 ...

  3. 🤩全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👻002 # 第二单元 常量,变量,数据类型 #

    一.本单元知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.定义出各种数据类型的变量2.理解自动类型提升3.理解强制类型转换 (Ⅱ)能力目标 1.能够定义出所有类型的常量 2.理解Java中的基本数 ...

  4. ☠全套Java教程_Java基础入门教程,零基础小白自学Java必备教程👾#010 #第十单元 Scanner类、Random类 #

    一.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.API的使用2.Scanner类的使用步骤3.Random类的使用 (Ⅱ)能力目标 1.掌握API的使用步骤2.使用 ...

  5. 全套Java教程_Java基础入门教程,零基础小白自学Java必备教程 #011 # 第十一单元 String&ArrayList #

    一.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.ArrayList集合的常用方法2.ArrayList存储数据和遍历数据3.String类的构造方法4.String ...

  6. Java学习_Java快速入门

    Java简介 安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录.在Windows下,它是安装目录,类似: C:\Program Files\Java\jdk-15 把J ...

  7. Java基础之路(四)--流程控制语句

    本次我们来聊一聊Java当中的循环语句. 循环语句分三种:1.for2.while3.do--while. 三种循环语句的任务是不同的,方法也是不同的.当然他们各自的流程图也是不一样的. 3.1 wh ...

  8. python基础入门之函数基础

    **python函数**一.def语名 def语名在运行的时候创建一个新的函数对象并且赋值一个变量名 一个def语句可以出现在任一语句可以出现的地方(python中所有的语名都是实时运行的,没有编译这 ...

  9. Java学习笔记(四)——流程控制语句

    一.条件语句 1.if条件语句 (1)语法: if(条件) { 条件成立时的代码 } (2)执行过程 2.if else语句 if(条件) { 条件成立时的代码 } else { 不成立的代码 } 3 ...

随机推荐

  1. Mysql生成UUID的SQL语句

    大写的UUID: SELECT UPPER(UUID()); 小写的UUID: SELECT LOWER(UUID()); SELECT UUID(); 去掉横杠的UUID: SELECT REPLA ...

  2. UWP - 介绍App Service 与新功能

    App Service 是一种背景工作运行的服务,提供给其他Apps 使用就像Web Service.它本身无使用介面(UI-less),允许Apps 在同一个设备被引用,甚至Windows 10 1 ...

  3. pgsql日期树数值类型指定与介绍

    http://www.postgres.cn/docs/9.3/datatype-net-types.html#DATATYPE-INET  文档有详细的pgsql介绍 使用案例: SELECT to ...

  4. eval()函数的使用

    1.eval() 函数作用:可以接受一个字符串str作为参数,并把这个参数作为脚本代码来 执行. 2.参数情况:(1)如果参数是一个表达式,eval() 函数将执行表达式: (2) 如果参数是Java ...

  5. MySQL数据完整性约束

    主键约束 主键可以是表中的某一列,也可以是表中的多个列所构成的一个组合:其中,由多个列组合而成的主键也称为复合主键.在MySQL中,主键列必须遵守以下规则. (1)每一个表只能定义一个主键. (2)唯 ...

  6. SDOI2021集训 R1 半夜 题解

    先贴两个博客:ajthreac yspm,建议结合起来看 \(O(n^3)\):对 \(XX\) 每个长度为 \(n\) 的字串与 \(Y\) 跑 LCS.设 \(f[i,j,k]\) 表示 \(X[ ...

  7. noip模拟42

    A. 卷 发现乘积足以爆 \(long\) \(long\),但是数据随机,可以略忽略精度问题 一个快速降低数的级别的方法是取对数,由于有性质 \(log(x * y)=logx+logy\),合并时 ...

  8. [考试总结]noip模拟45

    真开心,挂没了.. 考完:"你们怎么第二题打了这么点分,明明一个爆搜就有65pts!!!怎么跟别人打?!" 然后我看了看我的爆搜,30pts. 然后认为自己打爆了... 我又想为什 ...

  9. Intel® QAT 加速卡之IPSec示例

    Intel QAT 加速卡之IPSec示例 文章目录 Intel QAT 加速卡之IPSec示例 1. QAT处理IPSec入站报文 2. QAT处理IPSec出站报文 3. 组织架构 4. 示例源码 ...

  10. javaScript对象——function对象

    1.基本对象和Function(函数)方法对象 2.概念 3.创建function对象的三种方式: 第一种不建议使用 2.3两种方式就是方法名位置不同,建议使用: 4.方法调用只要名字对,实参不一定完 ...