當前位置:才華齋>IT認證>JAVA認證>

Java語言中的流程控制

JAVA認證 閲讀(1.67W)

Java語言中的流程控制語句與C、C++基本上是一樣的,如果你學習過C、C++這一塊知識你會很熟悉,涉及到的關鍵字有:if-else、while、do-while、for、return、break,switch。控制流程離不開條件判斷,根據條件判斷的true和false來決定執行路徑。在Java中控制流程包括:if-else、while、do-while、switch。

Java語言中的流程控制

  If-Else語句:

條件表達式產生一個boolean結果,根據結果是true還是false來進行路徑選擇。

if(條件表達式1){

//代碼1

}

//代碼2

上面的if語句會根據表達式1的結果(true/false)選擇是否執行代碼1,然後再執行後面的代碼2;

if(條件表達式1){

//代碼1

}else{

//代碼2

}

//代碼3

上面的if-else語句會根據表達式1的結果(true/false)選擇是否執行代碼1,如果是true則執行代碼1,是false則執行代碼2,然後執行代碼3。

if(條件表達式1){

//代碼1

}else if(條件表達式2){

//代碼2

}else if(條件表達式3){

//代碼3

}else{

//代碼4

}

//代碼5

上面的if-else語句會先判斷表達式1的結果(true/false),然後選擇是否執行代碼1,如果是true則執行代碼1,緊接着執行代碼5。如果是false則執行表達式2的判斷,根據表達式2的結果(true/false)來決定是否實行代碼2,如果true執行代碼2,緊接着執行代碼5。表達式3的`執行也是一樣。可能説的不太明白,還是看圖吧。

也就是説執行邏輯判斷,根據結果判斷執行代碼1、2、3、4中的一個,然後執行代碼5。

  Switch 語句:

在使用if-else處理多個邏輯選項判斷時顯得非常的複雜,代碼也比較臃腫,這個時候可以用switch語句,switch語句可以從很多選項中選擇一個去執行。

switch(變量){

case 常量1:代碼1;break;

case 常量2:代碼2;break;

case 常量2:代碼3;break;

..........

default: 代碼

}

執行流程是拿變量與每一個case的常量做比較,如果某個case滿足則執行該case下的代碼,如果沒有找到對應的case則執行default代碼。

變量:必須是一個變量或者能產生變量的表達式,這個變量可以是int類型或者int以下的類型(char,short,byte);

常量:必須是int或者int以下的類型並且必須是常量。

default:default代碼是在所有的case不滿足的時候才會執行,後面不需要break。

  注意事項:

在Java SE7以上版本變量和常量還可以是String類型;

每一個case必須在結尾添加break,要不然會繼續執行下一個case直到遇到break;

  循環語句:

循環語句有while、do-while和for,他們都是根據條件語句的真假判斷是否執行循環。

  while語句:

先判斷調價表達式的真假,根據結果判斷代碼執行流程。

while (條件表達式){

//代碼1

}

//代碼2

當條件表達式的結果為true時會一直循環執行代碼1,直到表達式結果為false才會跳出循環執行代碼2。

do-while語句:do{

//代碼1

}while (條件表達式)

//代碼2

do-while與while的區別是:do-while無論條件表達式結果是否為true,先執行一遍代碼1,然後再根據表達式結果判斷是否再次執行代碼1,如果是true則再次執行代碼1,直到表達式結果為false跳出循環執行代碼2.

  for語句:

for循環是最經常用到的循環語句。結構如下:

for(初始化代碼;循環條件表達式;更新計數器){

//代碼1

}

//代碼2

初始化代碼:用來初始化計數器;

循環條件:判斷計數器是否滿足某一條件,如果滿足則再次執行一遍代碼1;

更新計數器:一次循環結束更新計數器變量;

執行流程是:

例如循環打印100次:

for(int i = 0; i < 100; i++){

tln(" i = " + i);

}

上面的代碼會輸出i的值0-99。

Java SE5中引入了foreach用來遍歷數組和容器。

for(數組or容器中的元素:數組or容器){

}

for each多用來遍歷數組或者容器中的每一個元素,然後對每一個元素進行處理。

  流程跳轉控制:

Break:

break用於強制退出循環,即使循環沒有執行完也跳出循環(while、do-while、for)。在遇到多重循環:

for(){

//代碼1

for(){

//代碼2

break;

}

//代碼3

}

在執行到break的時候會跳出裏層的for循環直接執行代碼3。

Continue:

continue會停止執行本次循環,然後退回到循環起始處開始執行下一次循環。例如:

for(int i = 0; i < 100; i++){

if(i%2==0){

continue;

}

//代碼1

}

在遇到continue時不會再執行代碼1,而是執行i++,然後執行下一次循環。

Return:

退出本方法:

void function(){

//代碼

return;

}

無論在方法的任何地方如果碰到return就會跳出這份額方法。

還有一種是返回本方法的值並跳出本方法:

int function(){

int i = 0;

if(){

i = 1;

return i;

}else if(){

i = 2;

return i;

}

i = 3;

return i;

}