• Java基础-流程控制(04)


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

    流程控制语句分类

    顺序结构
    选择结构
    循环结构

    顺序结构

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

    选择结构

    也被称为分支结构。
    选择结构有特定的语法格式,我们必须按照它的基本格式来编写代码。
    Java语言提供了两种选择结构语句:
    1.if语句
    2.switch语句

    if语句

    if语句有三种格式

    if语句第一种格式:

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

    执行流程
    首先判断关系表达式看其结果是true还是false
    如果是true就执行语句体
    如果是false就不执行语句体

    if语句第二种格式:

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

    执行流程
    首先判断关系表达式看其结果是true还是false
    如果是true就执行语句体1
    如果是false就执行语句体2

    if语句第三种格式:

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

    执行流程
    首先判断关系表达式1看其结果是true还是false
    如果是true就执行语句体1
    如果是false就继续判断关系表达式2看其结果是true还是false
    如果是true就执行语句体2
    如果是false就继续判断关系表达式…看其结果是true还是false
    如果没有任何关系表达式为true,就执行语句体n+1。

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

    表达式:byte,short,int,char;JDK1.5以后可以是枚举,JDK1.7以后可以是字符串.

    case后面的值:是用来和表达式的值进行匹配的内容

    break表示终止

    default所有的值都不匹配的时候,就执行default

    执行过程:

        A.首先计算表达式的值

        B.拿着这个计算出的值,依次和case后面的值进行匹配.一旦有对应的值,就会执行相应的语句,在执行的过程中遇到break就会结束.

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

     循环语句

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

    循环语句的组成

    初始化语句:一条或者多条语句,这些语句完成一些初始化操作。
    判断条件语句:这是一个boolean 表达式,这个表达式能决定是否执行循环体。
    循环体语句:这个部分是循环体语句,也就是我们要多次做的事情。
    控制条件语句:这个部分在一次循环体结束后,下一次循环判断条件执行前执行。通过用于控制循环条件中的变量,使得循环在合适的时候结束。

    Java提供了三种循环结构语句:
    for,while,do…while

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

    执行流程
    A:执行初始化语句
    B:执行判断条件语句,看其结果是true还是false
          如果是false,循环结束。
          如果是true,继续执行。
    C:执行循环体语句
    D:执行控制条件语句
    E:回到B继续

     

     

    while循环语句格式:

    基本格式

    while(判断条件语句) {
        循环体语句;
    }

    扩展格式

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

    do…while循环语句格式:

    基本格式

    do {
        循环体语句;
    }while(判断条件语句);

    扩展格式

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

    执行流程:

    A:执行初始化语句

    B:执行循环体语句

    C:执行控制条件语句

    D:执行判断条件语句,看是true还是false

           如果是false,就结束循环

           如果是true,就回到B继续

    三种循环的区别

    虽然可以完成同样的功能,但是还是有小区别:

    do…while循环至少会执行一次循环体。
    for循环和while循环只有在条件成立的时候才会去执行循环体

    for循环语句和while循环语句的小区别:

    使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率

    推荐使用顺序:for;while;do..while;

    跳转控制语句break

    想让循环在某一步的时候结束或者跳过某些数据不要,现在就做不了这件事情。为了弥补这个缺陷,Java就提供了break,continue来实现控制语句的中断和跳转。

    break 中断

    break的使用场景:

    在选择结构switch语句中
    在循环语句中

    注意:离开使用场景的存在是没有意义的

    break的作用:

    跳出单层循环

    跳转控制语句continue

    continue的使用场景:

    在循环语句中
    离开使用场景的存在是没有意义的

    continue的作用:

    结束一次循环,进入下一次循环

    单层循环对比break,然后总结两个的区别

    break 退出当前循环
    continue 退出本次循环

  • 相关阅读:
    css--display详解
    关于overflow:hidden的作用
    float 应用
    flex 布局
    CSS+DIV布局中absolute和relative的区别
    线程和进程的区别是什么?
    .NET中读写SQL Server数据库需要用到哪些类?作用是什么?
    C# CookieHelper
    git pull/push代码 每次都要输入账户名和密码的解决方法
    git拉取远程分支到本地
  • 原文地址:https://www.cnblogs.com/aeolian/p/7721734.html
Copyright © 2020-2023  润新知