Java程序流程控制
流程控制语句三大结构
顺序结构分支结构
if分支switch 循环结构
forwhiledo...while三种循环的区别死循环循环嵌套 跳转关键字
breakcontinue注意事项 案例技术
随机数Random类
流程控制语句Java提供一些流程控制语句,来控制程序的执行流程
三大结构 顺序结构程序默认流程
分支结构 if分支根据判定的结果决定执行某个分支的代码
格式1
if(条件表达式){
语句体;
}
格式2
if(条件表达式){
语句体1;
}else{
语句体2;
}
格式3
if(条件表达式1){
语句体1;
}else if(条件表达式2){
语句体2;
}else if(条件表达式3){
语句体3;
}
...
else{
语句体n+1;
}
switch
也是匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好
执行流程:
1、先执行表达式的值,再拿这个值去与case后的值进行匹配
2、匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支
3、如果case后的值都不匹配则执行default代码
注意事项:
1、表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7支持String、不支持double,float,long。
2、case给出的值不允许重复,且只能是字面量,不能是变量。
3、不要忘记写break,否则会出现穿透现象。
小数运算在Java中是不精确的
switch的穿透性:
如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性
控制一段代码反复执行很多次
格式:
for(初始化语句;循环语句;迭代语句){
循环体语句(重复执行的代码);
}
while
初始化语句;
while(循环条件){
循环体语句(被重复执行的代码);
迭代代码;
}
什么时候用for循环,什么时候用while循环?
功能上是完全一样的,for循环能解决的事情while也能解决,反之亦然。使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while
先执行再判断循环条件
初始化语句;
do{
循环体语句;
迭代语句;
}while(循环条件);
特点:一定会先执行一次循环体。
eg:抢票
1、for 和 while (先判断后执行),do…while (第一次执行后判断)
2、for循环和while循环的执行流程是一模一样的,如果已知循环次数使用for循环,如果不清楚循环多少次建议使用while循环
3、for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以使用
一直循环的执行下去,如果没有干预不会停下来
for(;;){
System.out.println("Hello World");
}
//经典做法
while(true){
System.out.println("Hello World");
}
do{
System.out.println("Hello World");
}while (true);
eg:
循环中又包含循环
for(int i = 0; i < 3; i++){
for (int j = 0; j < 5; j++){
System.out.println("我爱你");
}
}
特点:外部循环每循环一次,内部循环全部执行完一次
跳出并结束当前所在循环的执行
continue用于跳出当前循环的当次执行,进入下一次循环
注意事项break:只能用于结束所在循环,或者结束所在switch分支的执行
continue:只能在循环中进行使用
Random随机数技术
作用:用于在程序中获取随机数的技术
使用步骤:
1、导包:告诉程序去JDK中哪个包找随机数技术
import java.util.Random;
2、写一行代码代表得到随机数对象
Random r = new Random();
3、调用随机数的功能获取0-9的随机数
int number = r.nextInt(10);
注意:nextInt(n)功能只能生成:0至(n-1)之间的随机数,不包含n。



