• Day04-程序控制语句


    第一章 流程控制语句

    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。

    1.1 流程控制语句分类

    顺序结构

    判断和选择结构(if, switch)

    循环结构(for, while, do…while)

    1.2 顺序结构

    顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

    第二章 判断语句:if语句

    2.1 if语句格式1

    格式:
    if (关系表达式) {
        语句体;    
    }

    执行流程:

    ①首先计算关系表达式的值

    ②如果关系表达式的值为true就执行语句体

    ③如果关系表达式的值为false就不执行语句体

    ④继续执行后面的语句内容

    第一种格式的细节:
    1. 如果我们要对一个布尔类型的变量进行判断,不要写==,直接把变量写在小括号中即可。

    2. 如果大括号中的语句体只有一条,那么大括号可以省略不写

      如果大括号省略了,那么if只能控制距离他最近的那一条语句。

      建议:自己不要去写,如果别人这么写了,你要能看懂即可。

    2.2 if语句格式2

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

    执行流程:

    ①首先计算关系表达式的值

    ②如果关系表达式的值为true就执行语句体1

    ③如果关系表达式的值为false就执行语句体2

    ④继续执行后面的语句内容

    2.3 if语句格式3

    格式:
    if (关系表达式1) {
        语句体1;   
    } else if (关系表达式2) {
        语句体2;   
    } 
    …
    else {
        语句体n+1;
    }

    执行流程:

    ①首先计算关系表达式1的值

    ②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值

    ③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值

    ④…

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

    第三章 switch语句

    3.1 格式

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

    3.2 执行流程:

    • 首先计算出表达式的值

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

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

    3.3 switch的扩展知识:

    • default的位置和省略情况

      default可以放在任意位置,也可以省略

    • case穿透

      不写break会引发case穿透现象

    • switch在JDK12的新特性

    int number = 10;
    switch (number) {
        case 1 -> System.out.println("一");
        case 2 -> System.out.println("二");
        case 3 -> System.out.println("三");
        default -> System.out.println("其他");
    }
    • switch和if第三种格式各自的使用场景

    当我们需要对一个范围进行判断的时候,用if的第三种格式

    当我们把有限个数据列举出来,选择其中一个执行的时候,用switch语句

    第四章 循环结构

    4.1 for循环结构(掌握)

    循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。

    4.1.1 for循环格式:
    for (初始化语句;条件判断语句;条件控制语句) {
        循环体语句;
    }

    格式解释:

    • 初始化语句: 用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样

    • 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去

    • 循环体语句: 用于表示循环反复执行的内容,简单说就是循环反复执行的事情

    • 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去

    执行流程:

    ①执行初始化语句

    ②执行条件判断语句,看其结果是true还是false

    如果是false,循环结束

    如果是true,继续执行

    ③执行循环体语句

    ④执行条件控制语句

    ⑤回到②继续

    for循环书写技巧:

    • 确定循环的开始条件

    • 确定循环的结束条件

    • 确定循环要重复执行的代码

    今后遇到的需求中,如果带有求和二字,请立即联想到求和变量

    求和变量的定义位置,必须在循环外部,如果在循环内部则计算出的数据将是错误的

    4.2 while循环

    4.2.1 格式:
    初始化语句;
    while(条件判断语句){
        循环体;
        条件控制语句;
    }
    

    4.3 do...while循环

    本知识点了解即可

    格式:

    初始化语句;
    do{
        循环体;
        条件控制语句;
    }while(条件判断语句);

    特点:

    先执行,再判断。

    4.4 三种格式的区别:

    for和while循环,是先判断,再执行。

    do...while是先执行,再判断。

    当知道循环次数或者循环范围的时候,用for循环。

    当不知道循环次数,也不知道循环范围,但是知道循环的结束条件时,用while循环。

  • 相关阅读:
    Java多线程(4)----浅谈重入锁
    六、扩充 gamma校正流程
    Springboot 框架中加解密字段后存储数据库
    C++(适配器):stack和queue的底层实现,以及优先级队列和仿函数
    你的GPU能跑Llama 2等大模型吗?用这个开源项目上手测一测
    面试题七:Vue.set()的使用
    用于大规模 MIMO 检测的近似消息传递 (AMP)(Matlab代码实现)
    RabbitMQ 消息丢失解决 (高级发布确认、消息回退与重发、备份交换机)
    RL note
    SSH客户端常用工具SecureCRT操作
  • 原文地址:https://blog.csdn.net/m0_74200772/article/details/132916007