本帖最后由 黄智 于 2015-6-15 22:32 编辑
我们都知道for语句语法为:
for(表达式1,表达式2,表达式3){
语句序列
}
表达式1:初始表达式,负责完成变量的变化
表达式2:循环条件表达式,值为boolean类型
表达式3:循环后操作的表达式,改变循环的条件
而foreach语句是for语句的特殊简化版本。foreach语句并不能完全取代for语句,然而任何foreach语句都可以改写成for语句。foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。
语法格式:
for(元素变量X:遍历对象obj){
引用X的java语句;
}
foreach语句中的元素变量X,不必对其进行初始化。
foreach语句在遍历数组等方面很方便,适合使用。
例如: //一维数组
public class One { public static void main(String[] args) {
int arr[] = {7,1,10};
System.out.println("一维数组中的元素分别为:");
for(int x:arr){
System.out.println(x+" ");
}
}
}
//二维数组
public class Two{
public static void main(String args[]){
int arr[][] = {{3,4,5},{1,2,5}};
System.out.println("二维数组中的元素分别为:");
for(int x[]:arr){
for(int e : x){
System.out.println(e+" ");
}
System.out.println("");
}
}
}
然而你会问为什么用foreach遍历二维数组?
当然是因为普通的for循环太麻烦。二维数组遍历要用双层 for循环,还要通过数组的length属性获得数组的长度。我觉得我自己还是挺懒的。
但是还是要给个例子。
//用双层for循环遍历二维数组
public class Three{
public static void main(String args[]){
int b[][] = new int[][]{{1,},{2,3},{4,5,6}};
System.out.println("二维数组为:");
for(int k = 0;k<b.length; k++){
for(int c = 0; c<b[k].length;c++){
System.out.println(b[k][c]+" ");
}
System.out.println();
}
}
}
所以foreach语句遍历数组更简单,双层我都迷了。
|
|