这种有冒号的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 packageforeach;2
3 public classStudent {4 private intstuNumber;5 privateString name;6 private intage;7
8 public intgetStuNumber() {9 returnstuNumber;10 }11 public void setStuNumber(intstuNumber) {12 this.stuNumber =stuNumber;13 }14 publicString getName() {15 returnname;16 }17 public voidsetName(String name) {18 this.name =name;19 }20 public intgetAge() {21 returnage;22 }23 public void setAge(intage) {24 this.age =age;25 }26
27 }
**********************数组类(方法类)***************
foreach循环的实现方法:
1 packageforeach;2
3 importjava.util.Scanner;4 public classStuArray {5 Scanner sc=newScanner(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 packageforeach;2
3 public classTest {4 /**
5 * foreach6 */
7 public static voidmain(String[] args) {8 StuArray sr=newStuArray();9 sr.showall();10 }11 }
运行结果如下:
和预期一致。
2015-08-2300:01:48