数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型,数组就是一组数据。
使用方式一:动态初始化
语法:
数据类型[] 数组名 = new 数据类型[长度大小];
数据类型 数组名[] = new 数据类型[长度大小];
// 动态初始化一个数组,长度为10
int[] arr = new int[10];
数组可以先声明后赋值,为赋值的数组它的默认值为null【空指针】
// 定义了一个数组,此时arr的值为null
int[] arr;
// 为arr赋值,并明确长度为10
arr = new int[10];
使用方式二:静态初始化
语法:
数据类型[] 数组名 = {元素1,元素2,元素3,......,元素10};
// 定义arr数组,并明确了长度与数组的元素
int[] arr = {1,2,3,4,5,6};
// 等价于动态初始化的语句,如下
int[] arr = new int[6];
arr[0] = 1;
arr[1] = 2;
// 省略...
arr[5] = 6;
数组使用细节及注意事项
1、数组是多个相同类型数据的组合,实现对这些数据的统一管理;
2、数组中的类型可以是任意数据类型,可以是基本类型和引用类型,但是不能混用;
3、数组创建后,如果没有赋值,有默认值:int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u0000,boolean false,String null;
4、使用数组的步骤:1.声明数组并开辟空间。2.给数组各个元素赋值。3.使用数组;
5、数组的下标是从0开始的;
6、数组小标必须在指定范围内使用,否则报:下标越界异常,比如int[] arr = new int[5];有效下标为0~4;
7、数组属于引用类型,数组型数据是对象(object)
数组赋值机制
1、基本数据类型赋值,这个值就是具体的数据,而且相互不影响;例如:int n1 = 10; int n2 = n1;
2、数组在默认情况下是引用传递,赋的值是地址;int [] arr1 = {1,2,3}; int[] arr2 = arr1; 此时arr2将arr1的地址值复制了过来,那么arr1与arr2的地址是相同的,当任意一方发生变化,相互间都有影响;
二维数组的使用
使用方法一:动态初始化
语法:
类型类型[][] 数组名 = new 数据类型[长度大小][长度大小];
// 定义一个int类型的数组,数组名为arr,长度为3,其中子元素的长度也为3
int[][] arr = new int[3][3];
二维数组使用细节和注意事项
1、一维数组的声明方式有:int[] x 或 int x[];
2、二维数组的声明方式有:int[][] x 或者 int x[][];
3、二维数组实际上是由多个一维数组组成的,他的各个一维数组的长度可以相同,也可以不相同,比如:map[][]是一个二维数组,map[][] = {{1,2},{3,4,5}}; 由map[0] 是一个含有两个元素的一维数组,map[1] 是一个含有三个元素的一维数组组成,我们也称为列数不等二维数组;