程序流程控制-爱代码爱编程
If分支有三种格式
格式1:
if (条件表达式) {
语句体;
}
格式2:
if (条件表达式) {
语句体1;
} else {
语句体2;
}
格式3:
if (条件表达式1) {
语句体1;
} else if (条件表达式2) {
语句体2;
} else if (条件表达式3) {
语句体3;
}
. . .
else {
语句体n+1;
}
switch分支
也是匹配条件去执行分支, 适合做值匹配的分支选择,结构清晰,格式良好
执行流程:
先执行表达式的值,拿着这个值去与case后的值进行匹配。
匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
如果case后的值都不匹配则执行default代码。
if、switch分支各自适合做什么业务场景?
if其实在功能上远远强大于switch。
if适合做区间匹配。
switch适合做**:值匹配的分支选择**、代码优雅。
switch分支注意事项
表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持double、float、long。
case给出的值不允许重复,且只能是字面量,不能是变量。
不要忘记写break,否则会出现穿透现象。
switch的穿透性
如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。
什么情况下会出现switch穿透现象?
case中没有写break。
switch穿透性能解决什么问题?
存在多个case分支的功能代码是一样时,可以用穿透性把流程集中到同一处处理,这样可以简化代码。
for 循环
控制一段代码反复执行很多次。
格式:
for (初始化语句; 循环条件; 迭代语句) { 循环体语句(重复执行的代码);
}
while 循环格式与执行流程
初始化语句;
while (循环条件) { 循环体语句(被重复执行的代码);
迭代语句;
}
什么时候用for循环,什么时候用while循环?
功能上是完全一样的,for能解决的while也能解决,反之亦然。
使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while。
do-while循环
初始化语句;
do {
循环体语句;
迭代语句;
} while (循环条件);
do-while循环的特点:一定会先执行一次循环体。
三种循环的区别小结
for循环 和 while循环(先判断后执行)
do…while (第一次先执行后判断)
for循环和while循环的执行流程是一模一样的。
如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。
for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以继续使用。
死循环
一直循环的执行下去,如果没有干预不会停止下来。
循环嵌套
循环中又包含循环
嵌套循环的特点
外部循环每循环一次,内部循环全部执行完一次。
跳转控制语句介绍
break : 跳出并结束当前所在循环的执行。
continue: 用于跳出当前循环的当次执行,进入下一次循环。
break : 只能用于结束所在循环, 或者结束所在switch分支的执行。
continue : 只能在循环中进行使用。
Random随机数技术
nextInt(n) 功能只能生成: 0 至 n-1之间的随机数,不包含n。
Random随机数类生成需要几步,具体是什么样的?
导包:import java.util.Random;
Random r = new Random();
int number = r.nextInt(10);
Random随机数如何生成 65 – 91之间的随机数?
65 – 91 => (0 - 26)+ 65
int number = r.nextInt(27) + 65;