1.什么是数组?
数组就是把相同的数据类型的数据,按照顺序,组合成的复合数据类型。
在这个概念中有三个关键词语1.相同的数据类型,2.顺序,3.复合数据类型;这三个关键字词语就组成了数组的概念。
数组的作用就是用来保存多个数据类型相同的数据,换句话说就是把相同数据类型的数据组织在一起统一管理。
2.数组的声明/定义
我们在声明/定义数组的时候都要使用“[]”,可以说“[]”就是数组的标志,我们判断一个元素是否是一个数组,就看他有没有“[]”。
具体数组创建的语法格式:
1.数据类型 数组名称【标识符】[];
2.数据类型 []数组名称【标识符】;
例如:
定义一个double类型的数组,名字叫double_1
double double_1[];
double []double_1;
定义一个字符型的数组,名字叫char_1
char char_1[];
char []char_1;
当一个数组声明/定义好以后,意味着只是给这个数组起了一个名字而已,接下来我们要将声明的数组创建出来。
3.创建数组
数组在创建之前必须提前定义好/声明好.
创建数组就是指为定义好的数组指定保存数据的内存空间,也就是指定这个数组将来不可以保存多少个具体的数据值。
创建数组的具体格式:
1.数据类型 数组名称【标识符】[];
数组名称=new 数据类型[int保存元素的个数];
2.数据类型 []数组名称【标识符】;
数组名称=new 数据类型[int保存元素的个数];
3.数据类型 数组名称【标识符】[]=new 数据类型[int保存元素的个数];
4.数据类型 []数组名称【标识符】=new 数据类型[int保存元素的个数];
例如:
char char_1[]; //定义
char_1=new char[3]; //创建
double []dous;//定义
dous=new doublle[4]; //创建
float f_array[]=new float[5]
int []int_1=new int[6];
4.定义和创建数组的内存结构
数据创建好以后,里面一个数据值都没有保存进入,接下来我们就需要向创建好的数组中添加保存数据。
5.为创建好的数组赋值
在该数组赋值之前我们需要了解一下数组的下标,因为我们不管是为数组赋值还是得到数组中保存的数据值都会碰到这个玩意。
数组的下边就是指数组为每一个存储数据的存储单元指定的顺序编号,是从0开始计数的。
数组的赋值方式有2种:
1.逐个为数组中的每一个存储单元中添加数据值,需要使用到数组下标这个概念。
格式:数组名称[下标值]=具体数据值;
例如:
char char_1[];
char_1=new char[5];
//由于创建的是char类型的数组,
//所以每一个存储空间中就只能保存字符数据值
char_1[0]='h';
char_1[1]='e';
char_1[2]='l';
char_1[3]='l';
char_1[4]='o';
注意:如果超过数组的数据存储单元,还继续向数组中保存数据的话,程序就是出现数组越界的异常,因为没有多余的存储单元用来保存数据了。
2.将数组的定义创建赋值使用一条java语句完成
格式:
数据类型 数组名称[]={具体数据值1,具体数据值2,...,具体数据值n};
数据类型 []数组名称={具体数据值1,具体数据值2,...,具体数据值n};
数据类型 数组名称[]=new 数据类型[]{具体数据值1,具体数据值2,...,具体数据值n};
数据类型 []数组名称=new 数据类型[]{具体数据值1,具体数据值2,...,具体数据值n};
例如:
char []char_1={'h','e','l','l','o'} ;
char char_1[]={'h','e','l','l','o'} ;
char char_array[]=new char[]{'h','e','l','l','o'};
char []char_array=new char[]{'h','e','l','l','o'};
// 错误
char char_array[]=new char[5]{'h','e','l','l','o'};
为数组赋值完成后,我们有时就需要把保存在数组中的数据值拿出来数据,接下来就看看获取数组中的数据值。
6.获取数组中的数据值
获取数组中指定位置的数值是需要通过数组下标来访问的。
格式: 数组名称[下标值]
例如:
char []char_1={'h','e','l','l','o'} ;
System.out.println(char_1[4]); // o
7.数组的length属性
1.在创建数组的时候指定了数组的存储单元的个数,那么length得到的是存储单元的个数,而不是实际保存数组中的元素个数。
2.在创建的时候直接赋值成功,那么length得到的是该数组中的元素个数。
例如:
public class ArrayLength{
public static void main(String args[]){
//定义整型数组
int []array_int;
//创建数组
array_int=new int[4];
//length属性
System.out.println("length_1=="+ array_int.length); //4
//为数组赋值
array_int[0]=101;
array_int[1]=234;
//在创建数组的时候指定了数组的存储单元的个数,
//那么length得到的是存储单元的个数,而不是实际保存数组中的元素个数。
System.out.println("length_2=="+ array_int.length); //4
//创建char数组并赋值
char char_1[]={'w','o','r','l','d'};
//数组中元素的个数。
System.out.println("char-----length=="+ char_1.length);
}
}
8.二维数组和多维数组
上面的内容中我们在定义数组的时候使用了一个“[]”,那么这种数组叫一维数组。
如果我们在定义数组的时候使用两个“[]”,这种数组就叫二维数组。
二维数组可以用来保存一个表格形式的数据进入数组。
例如:
public class ErArray{
public static void main(String args[]){
//定义一个字符型的二维数组
char char_array[][];
//char [][]char_array;
//创建二维数组
char_array=new char[2][5];
//赋值
char_array[0][0]='h';
char_array[0][1]='e';
char_array[0][2]='l';
char_array[0][3]='l';
char_array[0][4]='o';
char_array[1][0]='w';
char_array[1][1]='o';
char_array[1][2]='r';
char_array[1][3]='l';
char_array[1][4]='d';
System.out.println(char_array[1][0]);
char char_1[][]={{'h','e','l','l','o'},{'w','o','r','l','d'}};
System.out.println(char_1[0][1]);
}
}
如果我们在定义数组的时候使用超过两个“[]”,这种数组叫多维数组。多维数组我们一般都很少使用到,这里就不多做介绍。