null数组概述数组概述数组是多个相同类型数据的组合,实现对
这些数据的统一管理
数组属引用类型,数组中的每个元素相当于该对象的成员变量
数组中的元素可以是任何数据类型,包括
基本类型和引用类型*声明数组类型变量声明数组类型变量一维数组声明的语法格式
<类型> var[]; 或
<类型> [] var;
举例:
int[] a;
double d[];
String[] args;
Person p[];
Java语言中声明数组类型的变量时不允许指定数组的长度(数组中元素的个数)。
int[3] a; //非法*null静态初始化
在定义数组的同时就为数组元素分配空间并赋值。
int[] a = { 3, 9, 8};数组初始化数组初始化数组初始化动态初始化
数组定义、创建对象以及为数组元素赋值等操作分开进行
int a[];
a = new int[3];
a[0] = 3;
a[1] = 9;
a[2] = 8;创建并使用数组(1)创建并使用数组(1)创建数组对象语法格式:
new <元素类型>[<数组长度>]
基本类型元素组成的一维数组(1)*创建并使用数组(2)创建并使用数组(2)基本类型元素组成的一维数组(2)*创建并使用数组(3)创建并使用数组(3)基本类型元素组成的一维数组(3)*创建并使用数组(4)创建并使用数组(4)引用类型元素组成的一维数组(1)*创建并使用数组(5)创建并使用数组(5)引用类型元素组成的一维数组(2)*创建并使用数组(6)创建并使用数组(6)引用类型元素组成的一维数组(3)*创建并使用数组(7)创建并使用数组(7)引用类型元素组成的一维数组(3)*数组元素缺省初始化数组元素缺省初始化数组是引用类型,它的元素相当于类的成
员变量,因此数组对象一经创建,其中的
每个元素也被按照成员变量同样的方式被
隐式初始化。例如:*public class Test {
public static void main(String argv[]){
int a[]= new int[5];
System.out.println(a[3]);
}
}数组元素的引用数组元素的引用创建数组对象后才可以引用数组中的元素,格式:
<数组名>[<元素下标>]
其中,元素下标应为整型
达式。如a[3] , b[i] , c[6*i]。数组元素下标从0开始;长度为n的数组合法下标取值范围:0 ~ n-1;
Java数组对象一经创建,其长度不可改变,如果越界访问数组元素(即元素下标超过零至数组长度-1的范围)时将出现运行错误。
此外,数组对象拥有一个由系统自动提供的特殊属性length,用于以只读的方式给出数组的长度。
int[] a = new int[3];
System.out.println(a.length);*数组的排序数组的排序JDK的java.util包中定义的Arrays类提供了
多种数组排序的功能。
//创建样本数组
int[] a = {6,23,45,12,-83,94,41};
// 数组排序
Arrays.sort(a);
// 排序后数组元素输出
for(int i=0;i
方法提供
了数组元素复制功能——将一个数组的连
续多个元素的值批量复制到另一个数组中
//源数组
int source[] = { 1, 2, 3, 4, 5, 6 };
// 目的数组
int dest[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// 复制源数组中从下标0开始的3个元素到的数组,
//从下标0的位置开始存储。
System.arraycopy(source, 0, dest, 0, 3);
多维数组多维数组多维数组可以理解为由若干个低维数组所
组成的数组。
二维数组举例:
int a[][] = {{1,2},{3,4,0,9},{5,6,7}};*多维数组特性多维数组特性Java中多维数组的声明和初始化应按从高维到低维的顺序进行。
Java中多维数组不必须是
矩阵形式。
举例:*int[][] aa = {{1,2},{3,4},{6,7}};
int[3][2] aa = {{1,2},{3,4},{6,7}};//非法
int[][] a = new int[3][4];
int[][] t = new int[3][];
t[0] = new int[4];
t[1] = new int[2];
int[][] b = new int[][4]; //非法多维数组初始化多维数组初始化静态初始化
int a[][] = {{1,2},{2,3},{3,4,5}};
int b[3][2] = {{1,2},{2,3},{4,5}}; //非法
动态初始化
int a[][] = new int[3][];
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];
a[0][0] = 45;
a[0][1] = 87;
……
a[2][2] = 99;*本章练习本章练习五子棋的游戏。