Java--数组
一、数组
1.概念:数组是有序数据的集合;一个数组里只能存储一种数据类型是数据,而不能存储多种数据类型的元素。
二、一维数组
1.一维数组的声明
数据类型 数组名[]; 或数据类型[] 数组名;
例如:
int a1[]; int[] a2; double b[]; Person[] p1; String s1[];
2.数组对象的创建:
1. java中使用关键字new 创建数组对象,语法为:
数组名 = new 数组元素类型[数组元素个数];
例如:
public class TestArray{
public static void main(String args[]){
int[] arr;
arr = new int[5];
for(int i=0;i<5;i++){
arr[i] = i;
System.out.println(arr[i]);
}
}
}
3.元素为引用类型的数据(注意:元素为引用数据类型的数组中的每一个元素都需要实例化)
例如:
public class TestArray{
public static void main(String args[]){
Date[] date;
date = new Date[3];
for(int i=0; i<3; i++){
date[i] = new Date(2014,10,25);
System.out.println(date[i].year+"年,"+date[i].month+"月,"+date[i].day+"日!");
}
}
}
class Date{
int year,month,day;
public Date(int year,int month,int day){
this.year = year;
this.month = month;
this.day = day;
}
}
4.数组初始化:
1、动态初始化:
数组定义与为数组元素分配空间和赋值的操作分开进行。
2.语法:
数组名=new 数据类型[长度]
例如:
public class TestArray{
public static void main(String args[]){
int[] arr = new int[3]; //数组定义
arr[0]=1; //数组初始化
arr[1]=2;
arr[2]=3;
Date[] date = new Date[3]; //数组定义
date[0] = new Date(2014,10,25); //数组初始化
date[1] = new Date(2014,10,25);
date[2] = new Date(2014,10,25);
}
}
class Date{
int year,month,day;
public Date(int year,int month,int day){
this.year = year;
this.month = month;
this.day = day;
}
}
2、静态初始化
1.在定义数组的同时就为数组元素分配空间并赋值:
数组名=new 数据类型[]{元素值1,元素值2,元素值3,...,元素n}; 或 数据类型 数组名[]={元素值1,元素值2,元素值3,...,元素n}。
例如:
public class TestArray{
public static void main(String args[]){
int a[] = {1,2,3};
Date[] date = {new Date(2014,10,25), new Date(2014,10,26), new Date(2014,10,27)};
}
}
class Date{
int year,month,day;
public Date(int year,int month,int day){
this.year = year;
this.month = month;
this.day = day;
}
}
三、二维数组(二维数组里的每一个元素都是一个一维数组)
1.声明二维数组
数据类型[][] 数组名;
例如:
int [][]intArr;
2.二维数组的初始化
1.静态初始化:
数组类型 数组名[][]={{第0行元素值},{第1行元素值},...,{第n行元素值}}
2.动态初始化:
数组类型[][] 数组名=new 数据类型[数组长度]["{第0行元素值}"长度]
3.使用二维数组
格式:
数组名[行下标][列下标]
二维数组完整例子:
public class Lesson{
public static void main(String [] args){
//二维数组的声明方式:
//数据类型 [][] 数组名称 = new 数据类型 [长度][长度] ;
//数据类型 [][] 数组名称 = {{123},{456}} ;
/*
int [][] arr = {{123},{456}}; //定义了两行三列的二维数组并赋值
for(int x = 0; x
int [][] num = new int [3][3]; //定义了三行三列的二维数组
num[0][0] = 1; //给第一行第一个元素赋值
num[0][1] = 2; //给第一行第二个元素赋值
num[0][2] = 3; //给第一行第三个元素赋值
num[1][0] = 4; //给第二行第一个元素赋值
num[1][1] = 5; //给第二行第二个元素赋值
num[1][2] = 6; //给第二行第三个元素赋值
num[2][0] = 7; //给第三行第一个元素赋值
num[2][1] = 8; //给第三行第二个元素赋值
num[2][2] = 9; //给第三行第三个元素赋值
for(int x = 0; x//定位行
for(int y = 0; y//定位每行的元素个数
System.out.print(num[x][y]);
}
System.out.println("/n");
}
}
}
//数组值arr[x][y]表示指定的是第x行第y列的值。
//在使用二维数组对象时,注意length所代表的长度,
//数组名后直接加上length(如arr.length),所指的是有几行(Row);
//指定索引后加上length(如arr[0].length),指的是该行所拥有的元素,也就是列(Column)数目。