順序結構的程序語句只能被執行一次。若是您想要一樣的操做執行屢次,,就須要使用循環結構。Java中有三種主要的循環結構:html
在Java5中引入了一種主要用於數組的加強型for循環。首先咱們來看while循環。while是最基本的循環,它的結構爲:
數組
while( 布爾表達式 ) {
//循環內容
}//只要布爾表達式爲 true,循環就會一直執行下去
public class Test {
public static void main(String args[]) {
int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
}
spa
運行結果爲:.net
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
再來看do...while循環。對於 while 語句而言,若是不知足條件,則不能進入循環。但有時候咱們須要即便不知足條件,也至少執行一次。do…while 循環和 while 循環類似,不一樣的是,do…while 循環至少會執行一次。code
do { //代碼語句 }while(布爾表達式);
在這裏要注意下,布爾表達式在循環體的後面,因此語句塊在檢測布爾表達式以前已經執行了。若是布爾表達式的值爲 true,則語句塊一直執行,直到布爾表達式的值爲 false。htm
public class Test {
public static void main(String args[]){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
blog
運行結果爲:作用域
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
在來是for循環。雖然全部循環結構均可以用 while 或者 do...while表示,但 Java 提供了另外一種語句 —— for 循環,使一些循環結構變得更加簡單。for循環執行的次數是在執行前就肯定的。語法格式以下:
for(初始化; 布爾表達式; 更新) {
//代碼語句
}
it
關於 for 循環有如下幾點說明:for循環
Java5 引入了一種主要用於數組的加強型 for 循環。Java 加強 for 循環語法格式以下:
for(聲明語句 : 表達式)
{
//代碼句子
}
聲明語句:聲明新的局部變量,該變量的類型必須和數組元素的類型匹配。其做用域限定在循環語句塊,其值與此時數組元素的值相等。表達式:表達式是要訪問的數組名,或者是返回值爲數組的方法。
public class Test {
public static void main(String args[]){
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( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
運行結果爲:
10,20,30,40,50, James,Larry,Tom,Lacy,
而後咱們來看break。break 主要用在循環語句或者 switch 語句中,用來跳出整個語句塊。break 跳出最裏層的循環,而且繼續執行該循環下面的語句。break 的用法很簡單,就是循環結構中的一條語句:
break;
public class Test {
運行結果爲:
10 20
再來看continue。continue 適用於任何循環控制結構中。做用是讓程序馬上跳轉到下一次循環的迭代。在 for 循環中,continue 語句使程序當即跳轉到更新語句。在 while 或者 do…while 循環中,程序當即跳轉到布爾表達式的判斷語句。continue 就是循環體中一條簡單的語句:
continue;
public class Test {
運行結果爲:
10 20 40 50
來看個for 嵌套循環實例,第一個 for :定一個整型變量 i, 它的初始值是 1;判斷 i 是否小於等於 3;若是成立, i 就自增 1。第二個 for :定一個整型變量 n, 它的初始值是 1;判斷 n 是否小於等於 3;若是成立, n 就自增 1:
for(int i=1; i<=3; i++){ for(int n=1; n<=3; n++){ //輸出結果。。。。 System.out.println("i = " + i + ", n = " + n); } }
for循環嵌套:以打印九九乘法表爲例,第一個 for 循環:表明行數。定一個整型變量 i, 它的初始值是 1;判斷 i 是否小於等於 9;若是成立, i 就自增 1。第二個 for 循環:表明列數。定一個整型變量 j, 它的初始值是 1;判斷 j 是否小於等於 i;若是成立, j 就自增 1:
public class Test { public static void main(String args[]) { for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ System.out.print(j+"*"+i+"="+i*j+" "); } System.out.println(); } } }
for循環嵌套實例,利用for循環打印一個菱形:
public class Test { public static void main(String[] args) { //定義變量 int i,j,q; //打印菱形的上半部分,左邊打印倒直角三角形的空格,右邊打印等腰三角形 for( i = 1;i < 6; i ++) //外循環控制行數,共打印五行 { //左邊打印倒直角三角形空格 for( j = 5; j > i; j--) //與外循環關聯,初始值不變,表達式變化,控制打印的列數 { System.out.print(" "); } //右邊等腰三角形 for( q = 1;q < i*2; q++) //與外循環關聯,初始值不變,表達式變化,打印奇數列1,3,5,7,9 { System.out.print("*"); } System.out.println(); //換行 } //打印菱形的下半部分,左邊爲直角三角形的空格,右邊爲倒的等腰三角形 for(i = 1; i < 5; i++) //外循環控制行數,共打印四行 { //左邊直角三角形空格 for(j = 1;j <= i; j++) { //與外循環關聯,初始值不變,表達式變化,共打印五行 System.out.print(" "); } //右邊倒直角三角形 for( q = i*2; q < 9 ; q++) { //與外循環關聯,初始值變化,表達式不變,打印奇數列7,5,3,1 System.out.print("*"); } System.out.println(); //換行 } } }
咱們能夠按照以下思路來練習: