foreach循环
使用foreach循环遍历数组和集合元素时,无须获得数组
和集合的长度,无须根据索引来访问数组元素和集合元素,系
统自动遍历数组和集合的每个元素。
格式:
for(类型 变量名 : 数组名 | 集合名){
//变量自动迭代访问每个元素...
}
注意:若数组中有n个元素,则该循环就循环n次;每一次循环
都将数组中的一个元素赋给变量,循环体就对该变量进行操作
。
使用foreach循环遍历数组元素无须获得数组长度,也无须根据
索引来访问数组元素。
无须循环条件,无须循环迭代语句,这些部分都由系统来完成
。
当使用foreach循环时,通常不要对循环变量进行赋值,虽然没
有语法错,但极容易引起错误。
多维数组
多维数组可以理解为由若干低维数组组成的数组
二维数组的声明
格式:类型名 变量名[][]; 或 类型名[][] 变量名;
声明了数组类型变量,运行时系统只为引用变量分配引用空间
,并没有创建对象,也不会为数组元素分配空间,因此尚不能
使用任何数组元素。
二维数组对象的创建和初始化
静态初始化
格式:类型[][] 数组名={{第0行初值},…,{第n-1行初值}};
动态初始化
直接为每一维分配空间
例如,int [][] s=new int[5][3];
从最高维开始(必须从最高维开始),分别为每一维分配空间
。例如,int[][] s=new int[5][];
s[0]=new int[3]; s[1]=new int[3];…
Java中允许二维数组中每行的元素个数不同,即每行的列数可
以不同。
使用二维数组s的length属性可获得二维数组高维的大小,即行
数;使用s[i].length属性可获得二维数组每一行的列数,即每
一行的元素个数。
java.util包中定义的Arrays类提供了多种数组操作方法,实现
了对数组元素的排序、填充、转换、增强检索和深度比较等功
能,所有的这些方法都是static的。
数组元素的排序方法
原型:public static void sort(<type>[] a);
例如,int[] a={4,12,0,-5,45,-56};
Arrays.sort(a);
数组元素的排序通常指一维数值型数组元素按升序排序,偶尔
也会涉及一维String数组的排序,多维和其他引用类型的数组
排序实用意义不大。