Java流程控制和语言结构

    科技2022-07-11  101

    一、条件控制语句

    if…else语句 if…else语句是流程控制中最基本的语句,其中else是非必需的 if if…else if…else if if 语句嵌套switch语句 如果一个程序需要多条相似的条件判断,尤其是当布尔表达式简单并且形式相同,只是判断的值不同时,可以使用switch语句来统一待判断变量和判断值 switch语句是一种多分支并行语句,它允许多个分支语句并行存在,并用关键字case标识 执行时,switch语句先计算参数的值,如果和某一个分支语句标识的值相同,则执行该分支语句中的代码,直到遇到关键字break为止 当没有一个分支语句的值与switch入参的值相同时,则会执行关键字default分支中的语句 switch语句中待判断的变量必须为int,short,char,或字符串String case中的判断值必须为常量,并且case互相之间定义的常量值不能重复

    二、循环控制语句

    循环语句,又称为迭代语句,是指在满足布尔表达式的值一直为true时反复执行语句,知道表达式的值为false为止

    for循环语句

    简单for循环语句是最常用的循环语句

    初始化表达式可以为循环体定义一个新的变量并赋予一个初始值,一般是int变量,每次执行开始前都会判断布尔表达式,如果为true则执行循环,否则跳出并中断当前循环,一般布尔表达式中判断的变量即为初始化表达式中定义的变量,步进表达式是一种给布尔表达式中判断的变量进行变更的操作,一般是数值的增加或减少,以使循环语句可以被跳出并中断,每次循环结束会执行一次步进表达式

    for循环括号内可以使用逗号表达式

    foreach循环

    是另一种简洁的for循环语句,主要用于数组和集合类,这种循环语句并不需要初始化int变量来按照序列依次访问待访问项中的各个元素,定义如下:

    for([类型]变量:遍历对象) { // 循环体中执行语句 }

    while循环

    while语句中每次循环开始前会先判断布尔表达式,值为True则会继续执行循环体中的语句,直到布尔表达式的值为False为止 定义如下:

    while (布尔表达式) { //循环体内执行语句 }

    do…while 循环语句

    在第一次执行时,循环体中语句至少被执行一次,即使布尔表达式第一次的值就是False 定义如下:

    do { //循环体内执行语句 }while(布尔表达式);

    三、跳转语句

    continue语句

    当循环语句执行到某一次循环,满足了某种条件并希望不再执行后面未执行的语句,而是直接跳到下一次循环时,可以使用 continue 关键字。continue 并不是直接跳出整个循环语句,而是跳出当前的这次循环进入到下一次的循环中,循环语句中原有的布尔表达式仍需要进行判断

    如果是多个循环嵌套,内层循环语句中的continue语句只能中断当前循环,并不能影响到外层循环语句

    实际编程中会有会有这样一种情况:需要让程序跳出指定的循环语句。Java中提供了标签,一般定义在循环语句之前,用来标识当前循环。这相当于给当前循环起了一个名字以便它可以被找到。

    设计标签的原因是:如果存在多个循环嵌套,break和continue只能跳出当前循环,但是使用标签后,程序就可以终端循环并直接跳转到标签所在的地方

    定义格式:

    [外层循环名]: [外层循环声明] { [内层标签名]: [内层循环声明] { continue[外层标签名]; //或break[外层标签名]; } }

    continue语句跳到指定标签后,只是中断该标签定义的当前循环流程,后面的循环仍然会被执行,定义的标签必须和continue语句跳转的标签名保持一致(或者说continue定义的标签名在整个循环体中是被定义过的)

    break语句

    在循环语句中,break关键字可以直接跳出当前循环,break语句是直接终止所有的循环语句,跳出循环体

    多个循环嵌套中,内层循环语句的break语句只能中断内部循环,并不能影响到外部循环

    break语句也可以和标签一起使用,作用是直接中断,跳出标签定义的循环体,标签定义的循环可以是内层循环,也可以是外层循环

    goto语句

    goto语句能够控制程序从一个地方跳转到另一处执行当程序复杂时,goto语句的滥用会导致程序流程控制变得异常复杂,因为随着goto语句定义的地方增多,产生的错误则会越来越多,并且代码会难以维护。虽然goto语句是Java中保留的关键字,但是Java中并不能使用goto语句

    return语句

    return语句有两个用途:一个是定义一个方法的返回值(void方法也有一个隐式的return语句)另一个是直接跳出当前方法return语句也可以用来跳出当前所有的嵌套循环体
    Processed: 0.021, SQL: 8