循环分支结构——强化版while分支以及变异版for

while分支结构

我们知道if(switch)可以生成一个分支结构。想象一个游戏的主菜单界面,我们通过选择选项(分支)进入某个选择区(比如新游戏、继续游戏、选项),然后我们可以通过返回的方法重新回到主菜单。这时候我们可以把主菜单设计为一个循环的结构,通过循环中的分支进入某个选择区。这样可以保证主菜单一直在运行状态。

示例代码:

void menu(){
    while(true){
        /*
        *TODO somecode1
        */
        if(condition1){
            continue;     //返回到循环开头
        }else if(condition2){
            return;       //结束menu()这个方法体
        }else if(condition3){
            option();     //进入option()这个方法体
        }else{
            break;        //执行menu()方法体在while后面的部分
        }

    /*
    *TODO somecode2
    */
}

void option(){
    /*
    *TODO somecode3
    */
}

while分支简单示意

操控for循环

for循环一般是我们知道需要执行的步骤时使用。但是实际上我们同样可以通过if可以控制这个步骤。比如说,我们试图生成4个不相同的随机数。那么我们可以for循环4次,每次生成一个随机数。只要我们发现这个随机数和之前的数相同,我们就让for后退一步重新执行循环体:

void makeCode(){
    for(int i=0;i<this.codeNum.length;i++){
        this.codeNum[i] = ((int)(Math.random()*33))+1;
        for(int j=0;j<i;j++){
            if(this.codeNum[i]==this.codeNum[j]){
                i--;      //通过这个使for循环返回以前的步骤
                break;
            }//endif
        }//endinnerfor
    }//endouterfor
}//endmethod
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值