流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。
其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即:顺序结构、分支结构和循环结构。
本章概述:
顺序结构
选择结构: if-else switch
循环结构:while do-while for
跳转:break continue return
多重循环
方法:定义、调用、重载
递归算法
if单分支选择结构
if语句对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。
附:Math类的作用:
int i = (int) (6*Math.random());
//产生:[0,5]
//如何产生:10-15随机数?
if 条件结果必须是布尔值
if-else双分支选择结构
当条件表达式为真时,执行语句块1,否则,执行语句块2。也就是else部分。
if-else if-else多分支选择结构
if(布尔表达式1){
语句块1;
}else if(布尔表达式2){
语句块2;
}.......
else if(布尔表达式n){
语句块n;
}else{
语句块n+1;
}
逐条if语句进行判断
条件匹配,进入语句体;否则对if语句继续匹配。
根据表达式值的不同执行许多不同的操作
switch(表达式){
case值1:
语句序列;
[break];
case 值2:
语句序列;
[break];
... ... ... ... ...
[default:
默认语句;]
}
1.switch语句会根据表达式的值从相匹配的执行,一直执行到break标签处开始ak语句处或者是switch语句的末尾。与任一case值不匹配,则进入default语句(如果有的话)
2.只能处理等值条件判断的情况,且表达式必须为byte,short,int或char类型,不能是String或double,float.1.7之后可以使用string
3.常量值必须是与表达式类型兼容的特定的一个常量
4.不允许有重复的case值
5.default子句为可选
比较switch和多重if选择结构
相同点:都是用来处理多分支条件的结构
不同点:switch选择结构:只能处理等值条件判断的情况,而且条件必须是整型变量或字符型变量或者字符串(jdk1.7之后)
多重if选择结构:没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况。