流程控制的简介
顺序结构:代码从上往下,逐行依次执行。是程序执行的默认结构。
分支结构:程序在某一个节点遇到了多种向下执行的可能性,根据条件,选择一个分支继续执行。
循环结构:某一段代码需要被重复执行多次。
分支流程控制 - if
分支流程控制 - switch
switch(表达式expr){//int,byte,short,char,enum,String
case const1:
statement1;
break;
case const2:
statement2;
break;
… …
case constN:
statementN;
break;
default:
statement_dafault;
break;
}
程序逻辑:
- 检测某一个变量的值, 从上往下依次与每一个case进行校验、匹配
- 如果变量的值和某一个case后面的值相同,则执行这个case后的语句
- 如果变量的值和每一个case都不相同,则执行default后的语句
表达式的值必须是下述几种类型之一:
byte、short、int、char、enum(枚举);java7之后可以是String。
1. case子句中的值const 必须是常量值(或final的变量),case中的值不能是一个范围
2. 所有case子句中的值应是不同的,否则会编译出错;
3. default子句是可选的(不是必须的)
4. break语句用来在执行完一个case分支后使程序跳出switch语句块;否则会继续执行下去
穿透性
指的是, 当switch的变量和某一个case值匹配上之后, 将会跳过后续的case或者default的
匹配,直接向后穿透。
为了杜绝穿透, 可以使用关键字 break
循环结构的概念
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式:先判断后执行的循环结构和先执行后判断的循环结构.循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。
for循环
for(表达式1;表达式2;表达式3){
循环体
}
表达式1:循环变量初始化语句 比如 int i = 0;
表达式2:循环终止的判断条件语句,要求为布尔表达式,也就是结果为真或假值比如 i <10;
表达式3:循环改变的控制条件语句 比如 i++
循环体:循环要执行的语句
while循环
基本格式如下:
while(条件表达式){
循环体
}
条件表达式:循环终止的判断条件语句(相当于for循环的 表达式2),要求为布尔表达式,也就是结果为真或假值 比如 i < 10;
循环体:n行循环要执行的语句
do-while循环
基本格式如下:
do{
循环体
}while(条件表达式);
do-while循环为先执行后判断,也就是先执行一次循环体中的代码,然后再检查条件表达式,所以do-while循环至少会执行一次
break和continue的使用
break语句
1.作用:break语句用于终止某个语句块的执行
2.用法:如果是循环中,作用为跳出所在的循环,如果是在switch语句中,则为跳出所在的
switch语句
3.其它说明:使用Lable标签实现跳出指定的循环
continue语句
1.作用:跳过本次循环,执行下一次循环(如果有多重循环,默认继续执行离自己最近的循环)提前终止本次循环
2.使用:只能在循环结构中使用
3.其它说明:使用Label标签改变继续执行的循环
多重循环
1.概念:多重循环就是指 在循环内嵌套其它循环,和选择语句嵌套类似,嵌套几层就是几重循环,最常见的为双重和三重
2.说明:外层循环执行一次,它的内层循环执行一轮(也就是内循环正常循环一遍结束)
多重循环
1.概念:多重循环就是指 在循环内嵌套其它循环,和选择语句嵌套类似,嵌套几层就是几重循环,最常见的为双重和三重
2.说明:外层循环执行一次,它的内层循环执行一轮(也就是内循环正常循环一遍结束)