由于程序都是自上向下的順序執(zhí)行的,所以通過流程控制語句可以改變程序執(zhí)行的順序,或者反復(fù)的執(zhí)行某一段的程序。
條件判斷語句
條件分支語句
循環(huán)語句
條件判斷語句也稱為if語句
語法一:
if(條件表達(dá)式){ 語句...}
執(zhí)行流程:if語句執(zhí)行時,會先對條件表達(dá)式進(jìn)行求值判斷,如果值為true,則執(zhí)行if后的語句,如果值為false,則不執(zhí)行。
語法二:
if(條件表達(dá)式){ 語句...}else{ 語句...}
執(zhí)行流程:if...else語句執(zhí)行時,會對條件表達(dá)式進(jìn)行求值判斷,如果值為true,則執(zhí)行if后的語句,如果值為false,則執(zhí)行else后的語句
語法三:
if(條件表達(dá)式){ 語句...}else if(條件表達(dá)式){ 語句...}else if(條件表達(dá)式){ 語句...}else if(條件表達(dá)式){ 語句...}else{ 語句...}
執(zhí)行流程:if...else if...else語句執(zhí)行時,會自上至下依次對條件表達(dá)式進(jìn)行求值判斷,
如果判斷結(jié)果為true,則執(zhí)行當(dāng)前if后的語句,執(zhí)行完成后語句結(jié)束。 如果判斷結(jié)果為false,則繼續(xù)向下判斷,直到找到為true的為止。 如果所有的條件表達(dá)式都是false,則執(zhí)行else后的語句
使用switch語句
語法:
switch(條件表達(dá)式){ case 表達(dá)式: 語句... break; case 表達(dá)式: 語句... break; case 表達(dá)式: 語句... break; default: 語句... break;}
執(zhí)行流程:switch...case...語句在執(zhí)行時,會依次將case后的表達(dá)式的值和switch后的表達(dá)式的值進(jìn)行全等比較,
如果比較結(jié)果為false,則繼續(xù)向下比較。如果比較結(jié)果為true,則從當(dāng)前case處開始向下執(zhí)行代碼。 如果所有的case判斷結(jié)果都為false,則從default處開始執(zhí)行代碼。
通過循環(huán)語句可以反復(fù)執(zhí)行某些語句多次
while循環(huán)的語法:
while(條件表達(dá)式){ 語句...}
執(zhí)行流程:while語句在執(zhí)行時,會先對條件表達(dá)式進(jìn)行求值判斷,
如果判斷結(jié)果為false,則終止循環(huán) 如果判斷結(jié)果為true,則執(zhí)行循環(huán)體 循環(huán)體執(zhí)行完畢,繼續(xù)對條件表達(dá)式進(jìn)行求值判斷,依此類推
do...while循環(huán)的語法:
do{ 語句...}while(條件表達(dá)式)
執(zhí)行流程:do...while在執(zhí)行時,會先執(zhí)行do后的循環(huán)體,然后在對條件表達(dá)式進(jìn)行判斷,
如果判斷判斷結(jié)果為false,則終止循環(huán)。 如果判斷結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體,依此類推
和while的區(qū)別:while:先判斷后執(zhí)行
do...while: 先執(zhí)行后判斷 do...while可以確保循環(huán)體至少執(zhí)行一次。
for循環(huán)的語法:
for(①初始化表達(dá)式 ; ②條件表達(dá)式 ; ④更新表達(dá)式){ ③語句...}
執(zhí)行流程:首先執(zhí)行①初始化表達(dá)式,初始化一個變量,
然后對②條件表達(dá)式進(jìn)行求值判斷,如果為false則終止循環(huán) 如果判斷結(jié)果為true,則執(zhí)行③循環(huán)體 循環(huán)體執(zhí)行完畢,執(zhí)行④更新表達(dá)式,對變量進(jìn)行更新。 更新表達(dá)式執(zhí)行完畢重復(fù)②
死循環(huán)
while(true){ } for(;;){ }