這種有冒號的for循環叫做foreach循環,foreach語句是java5的新特征之一,在遍歷數組、集合方面,foreach為開發人員提供了極大的方便。
foreach語句是for語句的特殊簡化版本,但是foreach語句並不能完全取代for語句,然而,任何的foreach語句都可以改寫為for語句版本。
foreach並不是一個關鍵字,習慣上將這種特殊的for語句格式稱之為“foreach”語句。從英文字面意思理解foreach也就是“for 每一個”的意思。實際上也就是這個意思。
foreach的語句格式:
1 for(元素類型t 元素變量x : 遍歷對象obj){ 2 引用了x的java語句; 3 }
其實,個人覺得,foreach語句de格式寫成這樣更好理解:
1 for(數組類型t 變量x :數組名a){ 2 3 引用了xd的java語句; 4 }
示例代碼:
程序的目的是:使用foreach循環輸出一個數組的各個元素
*******************學生類*****************
1 package foreach; 2 3 public class Student { 4 private int stuNumber; 5 private String name; 6 private int age; 7 8 public int getStuNumber() { 9 return stuNumber; 10 } 11 public void setStuNumber(int stuNumber) { 12 this.stuNumber = stuNumber; 13 } 14 public String getName() { 15 return name; 16 } 17 public void setName(String name) { 18 this.name = name; 19 } 20 public int getAge() { 21 return age; 22 } 23 public void setAge(int age) { 24 this.age = age; 25 } 26 27 }
**********************數組類(方法類)***************
foreach循環的實現方法:
1 package foreach; 2 3 import java.util.Scanner; 4 public class StuArray { 5 Scanner sc=new Scanner(System.in); 6 int b[]={1,2,3,4,5,6}; 7 public void showall(){ 8 for(int j:b){ //注意: 這里的是一個隨意的變量,換成嗎m,n 都行 9 System.out.println(j); //這里方法的參數是上面的隨意變量,且要保持一致,不要把參數傳成了字符串 10 } 11 } 12
*********************測試類(主類)*****************
1 package foreach; 2 3 public class Test { 4 /** 5 * foreach 6 */ 7 public static void main(String[] args) { 8 StuArray sr=new StuArray(); 9 sr.showall(); 10 } 11 }
運行結果如下:
和預期一致。
2015-08-2300:01:48