`
txf2004
  • 浏览: 6853144 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一维数组

 
阅读更多

Foreach循环

使用foreach循环环遍历数组合元素组合时,无需获得数组合集合的长度,无须根据索引来访问数组元素和集合元素.系统将自动遍历数组和集合的每个元素.

格式:

For(类型变量名:数组名|集合名{}

//变量自动迭代访问每个元素

)

µ 注意:若数组中有n个元素,则该循环就循环n次;每一次循环都将数组中的一个元素赋给变量,循环体就对该变量进行操作。

String[] names ={"Georgianna""Jen""Simon"};

for (String name names){

System.out.println(name);

}

注意:

ü 使用foreach循环遍历数组元素无须获得数组长度,也无须根据索引来访问数组元素。

ü 无须循环条件,无须循环迭代语句,这些部分都由系统来完成。

ü 当使用foreach循环时,通常不要对循环变量进行赋值,虽然没有语法错,但极容易引起错误。

ü 6.5 foreach循环。

ü String[] names = {"Georgianna""Jen""Simon"};

ü for (String name names){

ü name="Tom";

ü System.out.println(name);

ü }

ü System.out.println(names[0]);

ü 注意:当使用foreach来迭代访问数组元素时,循环变量相当于临时变量,系统会把数组元素依次赋给这个临时变量,但它并不是数组元素。改变循环变量的值,并不能改变元素的值。因此,如果希望改变数组元素的值,则不能使用这种foreach循环。

ü 多维数组可以理解为由若干低维数组组成的数组,例如,多个一维数组可以组合而成为二维数组,多个二维数组组成三维数组

ü 二维数组的结构:

ü 二维数组s的第一维的长度为5,即数组s是由5个一维整型数组类型(int[])元素组成,分别标记为s[0]s[1] s[2]…,这5个一维数组的长度,即数组s的第二维的长度为3

ü 要访问二维数组中的某个元素,需要知道该元素的位置(第几行、第几列)

¯ 二维数组的声明

格式:类型名变量名[][]; 类型名[][] 变量名;

例如,int[][] s; Student s[][];

¯ 二维数组对象的创建和初始化

¯ 静态初始化
格式:类型[][] 数组名={{0行初值},…,{n-1行初值}};
例如,int[][] s={{678953}{779868}{576673}{808894}{849290}};

¯ 动态初始化

¯直接为每一维分配空间
例如,int [][] s=new int[5][3];

¯从最高维开始(必须从最高维开始),分别为每一维分配空间。例如,int[][] s=new int[5][];
s[0]=new int[3]; s[1]=new int[3];

¯ 二维数组中至少存在两级引用关系,如果二维数组最终的元素类型是引用类型,则会出现什么情况?

¯ 注意: Java中允许二维数组中每行的元素个数不同,即每行的列数可以不同。例如,int[][] s=new int[3][];

¯ s[0]=new int[1]; s[1]=newint[2]; s[2]=new int[3];

¯ 注意:使用二维数组slength属性可获得二维数组高维的大小,即行数;使用s[i].length属性可获得二维数组每一行的列数,即每一行的元素个数。

¯ for(int i=0;i<s.length;i++){

¯ for(int j=0;j<s[i].length;j++)

¯ sum+=s[i][j];

¯ }

¯ JDKjava.util包中定义的Arrays类提供了多种数组操作方法,实现了对数组元素的排序、填充、转换、增强检索和深度比较等功能,所有的这些方法都是static的。

¯ 数组元素的排序方法
原型:public static voidsort(<type>[] a);
例如,int[] a={4120-545-56};
Arrays.sort(a);

¯ 注意:数组元素的排序通常指一维数值型数组元素按升序排序,偶尔也会涉及一维String数组的排序,多维和其他引用类型的数组排序实用意义不大。

¯

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics