- 相關(guān)推薦
Java語言中的流程控制
Java語言中的流程控制語句與C、C++基本上是一樣的,如果你學(xué)習(xí)過C、C++這一塊知識(shí)你會(huì)很熟悉,涉及到的關(guān)鍵字有:if-else、while、do-while、for、return、break,switch?刂屏鞒屉x不開條件判斷,根據(jù)條件判斷的true和false來決定執(zhí)行路徑。在Java中控制流程包括:if-else、while、do-while、switch。
If-Else語句:
條件表達(dá)式產(chǎn)生一個(gè)boolean結(jié)果,根據(jù)結(jié)果是true還是false來進(jìn)行路徑選擇。
if(條件表達(dá)式1){
//代碼1
}
//代碼2
上面的if語句會(huì)根據(jù)表達(dá)式1的結(jié)果(true/false)選擇是否執(zhí)行代碼1,然后再執(zhí)行后面的代碼2;
if(條件表達(dá)式1){
//代碼1
}else{
//代碼2
}
//代碼3
上面的if-else語句會(huì)根據(jù)表達(dá)式1的結(jié)果(true/false)選擇是否執(zhí)行代碼1,如果是true則執(zhí)行代碼1,是false則執(zhí)行代碼2,然后執(zhí)行代碼3。
if(條件表達(dá)式1){
//代碼1
}else if(條件表達(dá)式2){
//代碼2
}else if(條件表達(dá)式3){
//代碼3
}else{
//代碼4
}
//代碼5
上面的if-else語句會(huì)先判斷表達(dá)式1的結(jié)果(true/false),然后選擇是否執(zhí)行代碼1,如果是true則執(zhí)行代碼1,緊接著執(zhí)行代碼5。如果是false則執(zhí)行表達(dá)式2的判斷,根據(jù)表達(dá)式2的結(jié)果(true/false)來決定是否實(shí)行代碼2,如果true執(zhí)行代碼2,緊接著執(zhí)行代碼5。表達(dá)式3的執(zhí)行也是一樣?赡苷f的不太明白,還是看圖吧。
也就是說執(zhí)行邏輯判斷,根據(jù)結(jié)果判斷執(zhí)行代碼1、2、3、4中的一個(gè),然后執(zhí)行代碼5。
Switch 語句:
在使用if-else處理多個(gè)邏輯選項(xiàng)判斷時(shí)顯得非常的復(fù)雜,代碼也比較臃腫,這個(gè)時(shí)候可以用switch語句,switch語句可以從很多選項(xiàng)中選擇一個(gè)去執(zhí)行。
switch(變量){
case 常量1:代碼1;break;
case 常量2:代碼2;break;
case 常量2:代碼3;break;
..........
default: 代碼
}
執(zhí)行流程是拿變量與每一個(gè)case的常量做比較,如果某個(gè)case滿足則執(zhí)行該case下的代碼,如果沒有找到對(duì)應(yīng)的case則執(zhí)行default代碼。
變量:必須是一個(gè)變量或者能產(chǎn)生變量的表達(dá)式,這個(gè)變量可以是int類型或者int以下的類型(char,short,byte);
常量:必須是int或者int以下的類型并且必須是常量。
default:default代碼是在所有的case不滿足的時(shí)候才會(huì)執(zhí)行,后面不需要break。
注意事項(xiàng):
在Java SE7以上版本變量和常量還可以是String類型;
每一個(gè)case必須在結(jié)尾添加break,要不然會(huì)繼續(xù)執(zhí)行下一個(gè)case直到遇到break;
循環(huán)語句:
循環(huán)語句有while、do-while和for,他們都是根據(jù)條件語句的真假判斷是否執(zhí)行循環(huán)。
while語句:
先判斷調(diào)價(jià)表達(dá)式的真假,根據(jù)結(jié)果判斷代碼執(zhí)行流程。
while (條件表達(dá)式){
//代碼1
}
//代碼2
當(dāng)條件表達(dá)式的結(jié)果為true時(shí)會(huì)一直循環(huán)執(zhí)行代碼1,直到表達(dá)式結(jié)果為false才會(huì)跳出循環(huán)執(zhí)行代碼2。
do-while語句:do{
//代碼1
}while (條件表達(dá)式)
//代碼2
do-while與while的區(qū)別是:do-while無論條件表達(dá)式結(jié)果是否為true,先執(zhí)行一遍代碼1,然后再根據(jù)表達(dá)式結(jié)果判斷是否再次執(zhí)行代碼1,如果是true則再次執(zhí)行代碼1,直到表達(dá)式結(jié)果為false跳出循環(huán)執(zhí)行代碼2.
for語句:
for循環(huán)是最經(jīng)常用到的循環(huán)語句。結(jié)構(gòu)如下:
for(初始化代碼;循環(huán)條件表達(dá)式;更新計(jì)數(shù)器){
//代碼1
}
//代碼2
初始化代碼:用來初始化計(jì)數(shù)器;
循環(huán)條件:判斷計(jì)數(shù)器是否滿足某一條件,如果滿足則再次執(zhí)行一遍代碼1;
更新計(jì)數(shù)器:一次循環(huán)結(jié)束更新計(jì)數(shù)器變量;
執(zhí)行流程是:
例如循環(huán)打印100次:
for(int i = 0; i < 100; i++){
System.out.println(" i = " + i);
}
上面的代碼會(huì)輸出i的值0-99。
Java SE5中引入了foreach用來遍歷數(shù)組和容器。
for(數(shù)組or容器中的元素:數(shù)組or容器){
}
for each多用來遍歷數(shù)組或者容器中的每一個(gè)元素,然后對(duì)每一個(gè)元素進(jìn)行處理。
流程跳轉(zhuǎn)控制:
Break:
break用于強(qiáng)制退出循環(huán),即使循環(huán)沒有執(zhí)行完也跳出循環(huán)(while、do-while、for)。在遇到多重循環(huán):
for(){
//代碼1
for(){
//代碼2
break;
}
//代碼3
}
在執(zhí)行到break的時(shí)候會(huì)跳出里層的for循環(huán)直接執(zhí)行代碼3。
Continue:
continue會(huì)停止執(zhí)行本次循環(huán),然后退回到循環(huán)起始處開始執(zhí)行下一次循環(huán)。例如:
for(int i = 0; i < 100; i++){
if(i%2==0){
continue;
}
//代碼1
}
在遇到continue時(shí)不會(huì)再執(zhí)行代碼1,而是執(zhí)行i++,然后執(zhí)行下一次循環(huán)。
Return:
退出本方法:
void function(){
//代碼
return;
}
無論在方法的任何地方如果碰到return就會(huì)跳出這份額方法。
還有一種是返回本方法的值并跳出本方法:
int function(){
int i = 0;
if(){
i = 1;
return i;
}else if(){
i = 2;
return i;
}
i = 3;
return i;
}
【Java語言中的流程控制】相關(guān)文章:
大型綜合超市采購控制及管理流程03-30
學(xué)習(xí)Java的技巧03-05
java習(xí)題及答案03-26
JAVA認(rèn)證簡介03-19
關(guān)于Java的import03-16
Java入門基礎(chǔ)知識(shí):Java IO(輸入/輸出)03-07
JAVA認(rèn)證開源技術(shù):關(guān)于Java的對(duì)象equals方法03-04
采購流程-采購流程管理01-22