java流程控制

java流程控制

  java使用 条件语句循环结构 确定控制流程。

一、块作用域

  • 块: 即复合语句,是指由一对大括号括起来的若干条简单的java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。
    public static void main(String args[]){
        int i;
        ...
        {
            int j;
        }
    }

不能在嵌套的两个块中声明同名的变量。

二、条件语句

  • 条件语句格式:
    // if语句
    if (条件) {
        // 代码块
    }

    // if/else语句
    if (条件) {
        // 条件成立时执行
    }else{
        // 不符合条件时执行
    }

    // if/else if(多分支)
    if (条件1) {
        // 条件1成立时执行
    }else if (条件2) {
        // 条件2成立时执行
    }
    ...
    else{
        // 上述分支都不满足时执行
    }

  • 条件必须用括号括起来
  • 条件为真时执行代码块
  • if 语句流程图
Created with Raphaël 2.3.0 开始 yourSales >= target performance = "SatisFactory" bonus=100 结束 yes no
  • if/else语句流程图
Created with Raphaël 2.3.0 开始 yourSales >= target performance = "SatisFactory" bonus=100 结束 performance = "NoSatisFactory" bonus=0 yes no
  • if/else if(多分支)流程图
Created with Raphaël 2.3.0 开始 yourSales=3*target performance = "Excellent" bonus=1000 结束 yourSales=2*target performance = "Fine" bonus=500 yourSales=target performance = "SatisFactory" bonus=100 Print "Fired" yes no yes no yes no

三、循环

  • 当条件为true时,while循环执行一条语句(语句块)。格式为:
    while(condition){
        // 要执行的语句或语句块
    }
  • 若条件为false时,while循环体一次也不执行。
  • while语句流程图
Created with Raphaël 2.3.0 开始 balance < goal update balance years++ Print years 结束 yes no
  • while循环语句首先检测循环条件。因此循环体中的代码在条件不满足时是不会被执行的。如果想要循环体至少执行一次,则将条件放在最后。使用do/while循环语句,格式为:
    do{
        //要执行的语句或语句块
    }while(condition)

这种循环语句先执行语句(通常为语句块),再检测循环条件,满足则执行下一次循环,不满足则退出循环。

  • do/while语句流程图
Created with Raphaël 2.3.0 开始 update balance years++ balance < goal Print years 结束 yes no

四、确定循环

  • for循环语句是支持迭代的一种通用结构,利用每次迭代之后更新的计数器或类似的变量来控制迭代次数。
    for(int i = 0;i<10;i++){
        System.out.println(i);
    }
  • for语句的第一部分通常用于对计数器的初始化。
  • for语句的第二部分给出每次新一轮循环执行前要检测的循环条件。
  • for循环的第三部分指示如何更新计数器。
  • for语句流程图
Created with Raphaël 2.3.0 开始 i=0 i < 10 i++ Print i 结束 yes no

提示: for语句指示while的简化形式。如果在for语句内部定义一个变量,那这个变量就不能在循环体外使用,如果希望在for循环体外使用循环计数器最终值,则要确保这个变量在循环语句的前面且在外部声明。

五、多重选择:switch

  • 处理多个选项时,使用switch语句。

switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句。或者执行到switch语句的终止处。如果没有相匹配的case标签,而又default子句,则执行default子句。

    switch(choice){
        case 1:
            ...
            break;
        case 2:
            ...
            break;
        case 3:
            ...
            break;
        ...
        default:
            ...
            break;
    }
  • switch语句流程图
Created with Raphaël 2.3.0 开始 choice = 1 . . . 结束 choice = 2 . . . choice = 3 . . . (default)bad input yes no yes no yes no
  • case标签可以是
  • Ⅰ:类型为char、byte、short或int的常量表达式。
  • Ⅱ:枚举常量。
  • Ⅲ:从java SE 7开始,case标签可以是字符串字面量。

六、中断控制流程语句

  • break: 跳出循环

  • continue: 越过当前循环体的剩余部分,立刻跳到循环的首部。

  • return: return并不是专门用于结束循环的关键字,而是用来结束一个方法。

Ⅰ:break可以返回到指定标签语句块位置,标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。

Ⅱ:虽然return也可以结束一个循环,但是与前两个不同,他结束了整个方法,不管return藏在多少层嵌套循环里面。同时,return后面可以跟一个值,并将值返回。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值