-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------
数组的概念:
数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素,包括为数组元素赋值取出数组元素的值。
1.数组也是一种类型
在一个数组中,数组元素的类型是唯一的,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据。
一旦数组的初始化完成,数组在内存中所占的空间将固定一下,因此数组的长度不可改变,即使把某个数组元素的数清空,但它所占的空间依然被保留,依然属于该数组,数组的长度不会改变。
Java中的数组既可以保存基本类型的数据,也可以存储引用类型的数据,秩需要所有的数组元素具有相同的类型既可。
另外要说的是,数组其实也是一种数据类型,他本身是一种引用类型,int是一个基本类型,那么int[]就是一种引用类型了。
2如何定义数组
Java语言当中有两种定义方法:
type[] arrName;
tyep arrName[];
这两种方式都可以定义数组,然而通常推荐使用第一种格式,其一因为不仅具有更好的语义,可读性也更好,更容易理解,type[]为一种变量类型,而arrName为变量名,而第二种就没有第一种这么直观了
Tips:C#已经不支持第二种,养成使用第一种的习惯。
3数组初始化
在Java中数组必须进行初始化才可使用,初始化的意思就是为数组元素分配内存空间,并未每个数组元素赋值。
数组的初始化有两种:静态初始化与动态初始化
静态初始化:初始化时由程序员显式的指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。
静态初始化格式:type arrName= new type[]{element1,element2,element3,........,elementx}
例子:
int arrInt;
arrInt = new int[]{1,2,3,4,5};
简化:int[] arrInt ={1,2,3,4,5};
动态初始化格式:arrNmae=new type[length];
例子:
int[] arrInt = new int[5];
4如何使用数组
数组中最常用的永华就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。但是要记住java语言的数组索引是从“0”开始的,也就是说数组第一个元的索引值为“0”,最后一个数组元素的索引值为数组长度减1。
例子:
Object obj[] = {"你好","zz"};
//下列代码会输出obj数组的第一个元素,输出你好
System.out.println(obj[0]);
//为obj数组的第二个元素赋值。
obj[1] = "zzz"
常见问题:
如果访问数组元素是指定的索引值小于0,或者大于等于数组长度,编译程序不会出现任何错误,但运行时会出现异常:java.lang.ArraryOutOfBoundsException:N(数组角标越界异常),异常信息后的N就是程序员试图访问的数组索引。
5.内存中的数组