九、java版 SpringCloud分散式微服務雲架構之Java 迴圈結構 - for, while 及 do...while
Java 迴圈結構 - for, while 及 do...while
順序結構的程式語句只能被執行一次。
推薦分散式架構
如果您想要同樣的操作執行多次,就需要使用迴圈結構。
Java中有三種主要的迴圈結構:
- while迴圈
- do…while迴圈
- for迴圈
在Java5中引入了一種主要用於陣列的增強型for迴圈。
while 迴圈
while是最基本的迴圈,它的結構為:
1 2 3 |
while (布林表示式){
//迴圈內容
}
|
只要布林表示式為 true,迴圈就會一直執行下去。
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 10 |
public class Test{
public static void main(Stringargs[]){
int x= 10 ;
while (x< 20 ){
System.out.print( "valueofx:" +x);
x++;
System.out.print( "\n" );
}
}
}
|
以上例項編譯執行結果如下:
1 2 3 4 5 6 7 8 9 10 |
valueofx: 10
valueofx: 11
valueofx: 12
valueofx: 13
valueofx: 14
valueofx: 15
valueofx: 16
valueofx: 17
valueofx: 18 valueofx: 19
|
do…while 迴圈
對於 while 語句而言,如果不滿足條件,則不能進入迴圈。但有時候我們需要即使不滿足條件,也至少執行一次。
do…while 迴圈和 while 迴圈相似,不同的是,do…while 迴圈至少會執行一次。
1 2 3 |
do {
//程式碼語句
} while (布林表示式);
|
注意:布林表示式在迴圈體的後面,所以語句塊在檢測布林表示式之前已經執行了。 如果布林表示式的值為 true,則語句塊一直執行,直到布林表示式的值為 false。
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 10 11 |
public class Test{
public static void main(Stringargs[]){
int x= 10 ;
do {
System.out.print( "valueofx:" +x);
x++;
System.out.print( "\n" );
} while (x< 20 );
}
}
|
以上例項編譯執行結果如下:
1 2 3 4 5 6 7 8 9 10 |
valueofx: 10
valueofx: 11
valueofx: 12
valueofx: 13
valueofx: 14
valueofx: 15
valueofx: 16
valueofx: 17
valueofx: 18
valueofx: 19
|
for迴圈
雖然所有迴圈結構都可以用 while 或者 do...while表示,但 Java 提供了另一種語句 —— for 迴圈,使一些迴圈結構變得更加簡單。
for迴圈執行的次數是在執行前就確定的。語法格式如下:
1 2 3 |
for (初始化;布林表示式;更新){
//程式碼語句
}
|
關於 for 迴圈有以下幾點說明:
- 最先執行初始化步驟。可以宣告一種型別,但可初始化一個或多個迴圈控制變數,也可以是空語句。
- 然後,檢測布林表示式的值。如果為 true,迴圈體被執行。如果為false,迴圈終止,開始執行迴圈體後面的語句。
- 執行一次迴圈後,更新迴圈控制變數。
- 再次檢測布林表示式。迴圈執行上面的過程。
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 |
public class Test{
public static void main(Stringargs[]){
for ( int x= 10 ;x< 20 ;x=x+ 1 ){
System.out.print( "valueofx:" +x);
System.out.print( "\n" );
}
}
}
|
以上例項編譯執行結果如下:
1 2 3 4 5 6 7 8 9 10 |
valueofx: 10
valueofx: 11
valueofx: 12
valueofx: 13
valueofx: 14
valueofx: 15
valueofx: 16
valueofx: 17
valueofx: 18
valueofx: 19
|
Java 增強 for 迴圈
Java5 引入了一種主要用於陣列的增強型 for 迴圈。
Java 增強 for 迴圈語法格式如下:
1 2 3 4 |
for (宣告語句:表示式)
{
//程式碼句子
}
|
宣告語句:宣告新的區域性變數,該變數的型別必須和陣列元素的型別匹配。其作用域限定在迴圈語句塊,其值與此時陣列元素的值相等。
表示式:表示式是要訪問的陣列名,或者是返回值為陣列的方法。
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class Test{
public static void main(Stringargs[]){
int []numbers={ 10 , 20 , 30 , 40 , 50 };
for ( int x:numbers){
System.out.print(x);
System.out.print( "," );
}
System.out.print( "\n" );
String[]names={ "James" , "Larry" , "Tom" , "Lacy" };
for (Stringname:names){
System.out.print(name);
System.out.print( "," );
}
}
}
|
以上例項編譯執行結果如下:
1 2 |
10 , 20 , 30 , 40 , 50 ,
James,Larry,Tom,Lacy,
|
break 關鍵字
break 主要用在迴圈語句或者 switch 語句中,用來跳出整個語句塊。
break 跳出最裡層的迴圈,並且繼續執行該迴圈下面的語句。
語法
break 的用法很簡單,就是迴圈結構中的一條語句:
1 |
break ;
|
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Test{
public static void main(Stringargs[]){
int []numbers={ 10 , 20 , 30 , 40 , 50 };
for ( int x:numbers){
//x等於30時跳出迴圈
if (x== 30 ){
break ;
}
System.out.print(x);
System.out.print( "\n" );
}
}
}
|
以上例項編譯執行結果如下:
1 2 |
10
20
|
continue 關鍵字
continue 適用於任何迴圈控制結構中。作用是讓程式立刻跳轉到下一次迴圈的迭代。
在 for 迴圈中,continue 語句使程式立即跳轉到更新語句。
在 while 或者 do…while 迴圈中,程式立即跳轉到布林表示式的判斷語句。
語法
continue 就是迴圈體中一條簡單的語句:
1 |
continue ;
|
例項
Test.java 檔案程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public class Test{
public static void main(Stringargs[]){
int []numbers={ 10 , 20 , 30 , 40 , 50 };
for ( int x:numbers){
if (x== 30 ){
continue ;
}
System.out.print(x);
System.out.print( "\n" );
}
}
}
|
以上例項編譯執行結果如下:
1 2 3 4 |
10
20
40
50
|