这种有冒号的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循环输出一个数组的各个元素
*******************学生类*****************
package foreach;
public class Student {
private int stuNumber;
private String name;
private int age;
public int getStuNumber() {
return stuNumber;
}
public void setStuNumber(int stuNumber) {
this.stuNumber = stuNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
**********************数组类(方法类)***************
foreach循环的实现方法:
package foreach;
import java.util.Scanner;
public class StuArray {
Scanner sc=new Scanner(System.in);
int b[]={1,2,3,4,5,6};
public void showall(){
for(int j:b){ //注意: 这里的是一个随意的变量,换成吗m,n 都行
System.out.println(j); //这里方法的参数是上面的随意变量,且要保持一致,不要把参数传成了字符串
}
}
*********************测试类(主类)*****************
package foreach;
public class Test {
/**
* foreach
*/
public static void main(String[] args) {
StuArray sr=new StuArray();
sr.showall();
}
}
运行结果如下: