- 数组是多个相同类型数据的组合,实现对这些数据的统一管理
- 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型
- 数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量
一、一维数组声明
1.一维数组的声明方式:
type var[] 或 type[] var;
- 例如:
- int a[];
- int[] a1;
- double b[];
- Mydate[] c; //对象数组
- Java语言中声明数组时不能指定其长度(数组中元素的数),
- 例如: int a[5]; //非法
2.一维数组初始化
- 动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行
- int[] arr = new int[3];
- arr[0] = 3;
- arr[1] = 9;
- arr[2] = 8;
- MyDate dates[];
- dates = new MyDate[3];
- dates[0] = new MyDate(22, 7, 1964);
- dates[1] = new MyDate(1, 1, 2000);
- dates[2] = new MyDate(22, 12, 1964);
- 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。
- int a[] = new int[]{ 3, 9, 8};
- int[] a = {3,9,8};
- MyDate dates[] = {
- new MyDate(22, 7, 1964),
- new MyDate(1, 1, 2000),
- new MyDate(22, 12, 1964)
- }
3.创建基本数据类型数组 (1)
- Java中使用关键字new创建数组对象
- 创建基本数据类型一维数组对象
public class Test{
public static void main(String args[]){
int[] s; s = new int[10];
for ( int i=0; i<10; i++ ) {
s[i] =2*i+1;
System.out.println(s[i]);
}
}
}
4.创建基本数据类型数组 (2)
创建基本数据类型一维数组对象
public class Test{
public static void main(String args[]){
int[] s;
s = new int[10];
//int[] s=new int[10];
//基本数据类型数组如果没有赋初值,
//Java自动给他们赋默认值。
for ( int i=0; i<10; i++ ) {
s[i] =2*i+1;
System.out.println(s[i]);
}
}
}
5.创建基本数据类型数组 (3)
创建基本数据类型一维数组对象
public class Test{
public static void main(String args[]){
int[] s;
s = new int[10];
for ( int i=0; i<10; i++ ) {
s[i] =2*i+1;
System.out.println(s[i]);
}
}
}
6.创建对象数组 (1)
创建元素为引用类型(对象)的数组
class MyDate{
private int day;
private int month;
private int year;
public MyDate(int d, int m, int y){
day = d; month = m; year = y;
}
public void display(){
System.out.println(year + "-" + month + "-" + day);
}
}
7.创建对象数组 (2)
创建元素为引用类型(对象)的数组演示
public class Test{
public static void main(String args[]){
MyDate[] m;
m = new MyDate[10];
for ( int i=0; i<10; i++ ) {
m[i] =new MyDate(i+1, i+1,1990+i);
m[i].display();
}
}
}
8.创建对象数组 (3)
创建元素为引用类型(对象)的数组演示
public class Test{
public static void main(String args[]){
MyDate[] m;
m = new MyDate[10];
for ( int i=0; i<10; i++ ) {
m[i] =new MyDate(i+1, i+1,1990+i);
m[i].display();
}
}
}
9.创建对象数组 (4)
Java中使用关键字new 创建数组对象
public class Test{
public static void main(String args[]){
MyDate[] m;
m = new MyDate[10];
for ( int i=0; i<10; i++ ) {
m[i] =new MyDate(i+1, i+1,1990+i);
m[i].display();
}
}
}
10.数组元素的默认初始化
数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如:
public class Test {
public static void main(String argv[]){
int a[]= new int[5];
System.out.println(a[3]);//a[3]的默认值为0
}
}
- 对于基本数据类型而言,默认初始化值各有不同
- 对于引用数据类型而言,默认初始化值为null(注意与0不同!)
11.数组元素的引用
- 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
- 数组元素的引用方式:数组名[数组元素下标]
- 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
- 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、a[1]、a[2]
- 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数)
- 数组一旦初始化,其长度是不可变的
二、多维数组
三、数组排序