程序流程控制
1,流程控制语句
顺序结构 程序默认流程
分支结构 if switch
循环结构 for ,while,do...while
2,分支结构
(1)if语句:根据判定结果(真或假)决定执行某个分支的代码
(2)if分支的三种格式
①if(表达式){
语句体;
}
②if(条件表达式){
语句体1;
}else{
语句体2;
}
③if(条件表达式){
语句体1;
}else if(条件表达式){
语句体2;
}.....else{
语句体n;
}
(2)switch分支:匹配条件去执行分支,适合做值匹配的分支选择,结构清晰,格式良好
执行流程:
①先执行表达式的值,拿着这个值去与case后的值进行匹配
②匹配哪个case的值为true就执行那个case遇到break就跳出switch分支
③如果case后面的值都不匹配,执行default代码
注:1,表达式类型只能是byte ,int,char,jdk5开始支持枚举,jdk7开始支持string,不支持double,float,long
2,case给出的值不允许重复,且只能写字面量,不能写变量
3,不要忘记写break,否则会出现穿透现象
switch的穿透性:如果代码执行到没有写break的case块,执行完成后将直接进入下一个case块执行代码,而且不会进行任何匹配,直到遇到break才跳出分支
作用:用来解决存在多个case分支的功能一样。
(3)循环结构
for循环:控制一段代码,重复执行很多次
while循环:功能上和for循环一样
初始化语句;
while(循环条件){
循环体语句(被重复执行的代码);
迭代语句;
}
(5)do..while循环:先执行后判断
三种循环语句的区别:
for循环,while循环:先循环后执行,当具体知道循环次数用for循环,不知道时则用while循环
do..while循环:先执行后判断
(6)死循环:一直循环的执行下去,如果没有干预,不会停止下来
三种写法
1,for(;;){}
2,while(true){}
3,do{}while(true)
(7)嵌套循环:循环中又包含循环
(8)跳转关键字,break,continue
break:跳出并结束当前循环的执行,只能用于结束所在循环,或结束switch分支的执行
continue:跳出当前循环,进行下一个循环,只能在循环中使用