流程控制---选择结构与循环结构

3.1.1 流程控制结构

3 种: 顺序结构(从上到下依次) 、 选择结构(根据条件判断的结果来选择执行不同的代码 ----- 单分支、双分支 、 多分支 ----if 控制语句 、 switch语句)、 循环结构(根据判断条件 来重复执行某段代码---- while语句 、 do - while 语句 、 for语句);

1. if 控制语句:

单分支:

if(表达式){       ---- 表达式是布尔类型的表达式,结果为true , false;

      语句

执行步骤:

1)对表达式的结果进行判断;

2) 如果表达式结果为true  ---> 执行该语句;

2) 如果表达式结果为false  ---> 跳过该语句;

双分支:

if(表达式){
        语句1

}else{

        语句2

}

执行步骤:

1)对表达式的结果进行判断;

2) 如果表达式结果为true  ---> 执行语句1;

2) 如果表达式结果为false  ---> 执行语句2;

多分支:

if(表达式1){

        语句1

}else  if(表达式2){

        语句2

}else{

       语句3

}

执行步骤:

1)对表达式1的结果进行判断;

2) 如果表达式1的结果为true , 则执行语句1 ; 否则判断表达式2的值;

3) 如果表达式2的结果为true , 则执行语句2 ; 否则执行语句3;

 

2. 嵌套if控制语句

在if控制语句中包含一个或多个if控制语句, 通过外层 语句和内层语句的协作,增强程序的灵活性;

 

3. switch语句

和多分支if控制语句结构在某些情况下可以互相代替;

switch(表达式){   // switch的表达式可以是int 、 short 、 byte  、 char 、 枚举类型 、 string

       case 常量1:   // case用于与表达式进行匹配

       语句;

       break;    // break 用于终止后续语句的执行;

       case 常量2:

       语句;

       break;

       case 常量3:

       语句;

       break;

       。。。。

       defult:    // defult 是可选的, 当其他条件都不匹配的时候执行defult;

       语句;

       break;

 

执行步骤:

1) 计算switch后表达式的值

2) 将计算结构从上至下依次与case后的常量值比较;

3)如果相等就执行该常量后的代码块, 遇到break语句就结束;

4) 如果与任何一个case后的常量值都不匹配,就执行defult中的语句;

3.2.1 循环结构

初始部分: 设置循环的初始状态

循环体:  重复执行的代码;

循环条件: 判断是否继续循环的条件

语法格式:

变量初始化

while(循环条件){

        循环体                        // while语句先判断循环条件再执行循环体 , 如果第一次判断循环条件为假,循环将一次也不执行;

        }


do-while 循环

变量初始化

do{

        循环体                          //do-while以分号结尾,很重要,不可 省略;先执行 循环体再判断循环条件,所以

}while(循环条件);          //循环体至少执行一次;

for 循环

for( 变量初始化 ; 循环条件 ; 修改循环变量的值){

        循环体                              //先判断条件,再执行;

}

多重循环(嵌套循环)

while(循环条件1){      //while是外层循环;

        循环语句1

        for(循环条件2){    //for是内层循环    ---- 外层while循环每循环一次,内层for循环就完整的执行一遍;

              循环语句2

        }

}

while / do-while / for 循环的适用情况:*

循环次数确定: for循环

循环次数不确定:while / do-while

3.2.2 跳转语句

 break语句 、 continue语句 、 return语句

break:在语句中的作用是终止当前循环,在switch语句中的作用是终止switch;

例子:输入1-10 , 若遇到4的倍数程序自动退出;

public static void main(String[] args) {
    for(int i = 0 ; i < 10 ; i++){
        if(i%4 == 0){
            break;
        }
        System.out.println(i+"");
    }
    System.out.println("循环结束");
    
}

continue:强制循环提前返回,让循环跳过本次循环中的剩余代码,然后开始下一次循环;

例子:输入1-10 , 请实现输出非4的倍数的数字;

public static void main(String[] args) {
    for(int i = 0 ; i < 10 ; i++){
        if(i%4 == 0){
            continue;    //当i = 4/8 时,执行continue后并没有终止整个循环,
        }                 //而是终止本次循环,不再执行循环体中continue后面的输入语句;
        System.out.println(i+"");      
    }
    System.out.println("循环结束");
    
}

return :结束当前方法的执行并退出返回到调用该方法的语句处;

例子:请实现输出4以下的数字;

public static void main(String[] args) {
    for(int i = 0 ; i < 10 ; i++){
        if(i%4 == 0){
            return;     // i = 4 时满足条件,执行return语句,结束当前循环,结束整个方法的执行;
        }                
        System.out.println(i+"");      
    }
    System.out.println("循环结束");
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值