赞
踩
一、数组基本概念
数组就是若干个相同的数据类型的元素按一定顺序排列的集合。从数组的构成形式上分,数组可以分为一维数组和多维数组(二维及二维以上)。
二、数组的特点
(一)数组是相同数据类型元素的集合。
(二)数组中的元素是有顺序的,它们在内存是按先后顺序存放在一起的。
三、一维数组
一维数组是最简单的数组,其逻辑结构是线性表。
(一)声明
数据类型[] 变量名; 举例:int[] a; String[] b;
数据类型 变量名[];
注:这两种形式都可以,数据类型可以是基本数据类型或引用数据类型,变量名要遵循标识符的命名规则,中括号表示数组的维数,一个[]代表一维。
(二)创建数组
变量名=new 数据类型[数组的长度]; 举例:a=new int[3] (创建了一个长度为3的数组,并赋值给a)
注: 平常定义一个数组一般是连着写的, 数据类型[] 变量名=new 数据类型[数组的长度]; 这样子定义更为简便,不会容易出错。
(三)一维数组元素的访问
数组的元素是通过索引来访问的,数组的索引值范围是零至数组长度减一。数组的引用方式为:数组名[下标],下标可以是整型数或整型表达式,举例:a[0],a[i+1];对于每个数组而言,都有一个长度length,如用a.length来访问数组的长度。
package practice_java;
public class java_1{
public static void main(String[] args) {
int[] a=new int[5]; //创建一个长度为5的数组
System.out.print("数组a为:");
for(int i=0;i<a.length;i++)
System.out.print("a["+i+"]="+a[i]+" ");
}
}
运行结果为:
注:因为数组a的元素还没有初始化,所以元素数值默认为0。
(四)一维数组的初始化
定义数组的同时就为数组元素分配空间并赋值,这种赋值方法称为数组的初始化。
格式为:数据类型[] 变量名={元素一,元素二,元素三,…元素n};
数据类型[] 变量名=new 数据类型[]{元素一,元素二,元素三,…元素n};
另外,在声明数组的时候,不需要将数组的长度给出,编译器会根据所给的元素个数来为数组分配内存空间并设置数组的长度。
注:在声明数组的时候,都不能在中括号里面加入数组长度,例如 int[5] a; 这样的话编译器会报错。
除了以上的初始化,还有另外一种为一维数组赋值的方式,那就是利用循环的方法,也是常用的一种方法。
package practice_java;
public class java_1{
public static void main(String[] args) {
int[] a=new int[5]; //创建一个长度为5的数组
int i;
for(i=0;i<5;i++)
a[i]=i;
System.out.print("数组a为:");
for(i=0;i<a.length;i++)
System.out.print("a["+i+"]="+a[i]+" ");
}
}
运行结果为:
四、二维数组
(一)二维数组的定义
二维数组的定义与一维数组类似。其声明与创建数组的格式为:数据类型[][] 变量名; 变量名=new 数据类型[行数][列数]; 同样地,两句语句可以连着一起定义,举例:int[][] a=new int[2][3]; (定义了一个两行三列的整型二维数组);Java语言的二维数组不一定是规则的矩形数组,它每一行的列数可以不同,所以在定义一个不规则的二维数组,只需要给出最高维数即可,格式为: 数据类型[][] 变量名=new 数据类型[行数][]; 接着再为最高维分配引用空间,也就是为每一行设置该行的数组长度,格式为:变量名[0]=new 数据类型[列数];变量名[1]=new 数据类型[列数]; 以此类推。
注:二维数组在定义的时候,必须且至少指定高层维数,例如 int[][] a=new int[2][]; int[][] a=new int[2][3]; 则编译可以通过;而
int[][] a=new int[][2]; int[][] a=new int[][]; 则编译错误。
package practice_java;
public class java_1{
public static void main(String[] args) {
int[][] a=new int[2][]; //创建一个行数为2的不规则二维数组
a[0]=new int[2]; //第一行列数为2
a[1]=new int[3];
int i,j;
System.out.println("数组a为:");
for(i=0;i<</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。