Java 数组

数组是一个对象,所以定义好的数组长度是固定的,在一个数组中,所有的数组元素都具有相同的数据类型。当然,由于java是面向对象的语言,而类与类支持继承关系,这样可能在父类类型的数组里存放了不同的子类类型元素。

一维数组

定义格式
静态

int[] arr1={1,2,3,6};

int[] arr2=new int[]{1,2,3,4,5,6,7,8};

动态

int[] arr3=new int[10];

注意:数组的length是一个属性,而字符串的length()是一个方法

二维数组

数组的数组---二维数组的每一个元素是一个一维数组

定义格式

静态

int[ ][ ] arr1={{1,2,3},{4,5,6}};

动态

数据类型[ ][ ] 数组名 = new 数据类型 [ 二维数组的长度/包含的一维数组的个数 ] [ 每个一维数组的长度 ];

int[ ][ ] arr = new int[3][5];//定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数

arr[0]---下标为0的位置上的一维数组

arr[1][3]---如果要获取具体的元素需要两个下标

数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][ ];

注意:不能定义 int[ ][ ]  arr=new int[][3],这样会报错,这个的意思就“零行三列”

没有多维数组
如果从数组底形的运行机制来看,数组其实是一个引用,这个引用指向真实的数组内存。数组元素的类型也可以是引用,把之前的type换成int[],那么上面的定义数组的语法就是int [][] arrName,这样似乎就是定义了二维数组。但他的实质还是一维数组,只是数组元素也是引用。

注意:比较两个数组的是否相等就是用Array.equals(int[ ] a , int[ ] b)进行逐个比较。

原文地址:https://www.cnblogs.com/lucky1024/p/11551258.html