程序都是自上向下的顺序执行的,
通过流程控制语句可以改变程序执行的顺序,或者反复的执行某一段的程序。
1.条件判断语句(if语句)
语法一:
if(条件表达式){
语句...
}
执行流程:
if语句执行时,会先对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则不执行
语法二:
if(条件表达式){
语句...
}else{
语句...
}
执行流程:
if...else语句执行时,会对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则执行else后的语句
语法三:
if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else if(条件表达式){
语句...
}else{
语句...
}
执行流程 :
if...else if...else语句执行时,会自上至下依次对条件表达式进行求值判断,如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。 如果判断结果为false,则继续向下判断,直到找到为true的为止。如果所有的条件表达式都是false,则执行else后的语句
2.条件分支语句(switch语句)
语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
执行流程:
switch...case...语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较,
如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码。
如果所有的case判断结果都为false,则从default处开始执行代码。
switch中有case穿透现象。
3.循环语句:
(1)while循环
语法:
while(条件表达式){
语句...
}
执行流程:
while语句在执行时,会先对条件表达式进行求值判断,如果判断结果为false,则终止循环
如果判断结果为true,则执行循环体。
循环体执行完毕,继续对条件表达式进行求值判断,依此类推,直到表达式返回false,则循环结束。
(2)do...while循环
语法:
do{
语句...
}while(条件表达式)
执行流程
do...while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,如果判断判断结果为false,则终止循环。
如果判断结果为true,则继续执行循环体,依此类推,直到表达式返回false,则循环结束。
和while的区别:
while:先判断后执行
do...while: 先执行后判断
do...while可以确保循环体至少执行一次。
(3)for循环
语法:
for(①初始化表达式 ; ②条件表达式 ; ④更新表达式){
③语句...
}
执行流程:
首先执行①初始化表达式,初始化一个变量,然后对②条件表达式进行求值判断,如果为false则终止循环,如果判断结果为true,则执行③循环体。循环体执行完毕,执行④更新表达式,对变量进行更新。更新表达式执行完毕重复②
(4)死循环
while(true){
}
for(;;){
}