数组类型

数组是编程语言中最常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引(下标)来访问数组元素,包括数组元素赋值和取出数组元素的值。

数组特征

数组有以下特征:
1.数组要求数组里的所有元素具有相同的数据类型
2.数组一旦初始化完成,数组在内存中所占的空间将固定下来,因此数组的长度不可改变。
3.数组不仅可以存储基本类型的数据,也可以存储引用类型的数据。
4.数组也是一种数据类型,它本身是一种引用类型。

数组的初始化 

Java语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,

并为每个数组元素赋初始值。
数组的初始化有如下两种方式。
静态初始化:初始化时由程序显式指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:初始化时程序员只指定数组长度,由系统为数组分配初始值

定义数组

Java语言支持两种语法格式来定义数组:
type[] arrayName; int[] a;
type arrayName[]; int a[];
注意:数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了 一个指针),这个引用变量还未指向任何有效的内存,因此定义数组时不能指定数组的长度。而且由于定义数组 只是定义了一个引用变量,并未指向任何有效的内存空间,所以还没有内存空间来存储数组元素,因此这个数组 也不能使用,只有对数组进行初始化后才可以使用。

静态初始化

静态初始化的语法格式如下:
int[] arrayName ;
arrayName = new type[]{element1,element2,element3…};
简化的语法格式:
int[] arrayName = {element1,element2,element3…};
最简单的写法
int[] arrayName = new int[]{ element1,element2,element3…};
此处的type必须与定义数组变量时所使用的type相同。或者也可以定义数组时所指定的type的子类,并使用花括 号把所有的数组元素括起来,多个数组元素之间以英文逗号(,)隔开,定义初始化值的花括号紧跟[]之后。

动态初始化

动态初始化只指定数组的长度,由系统为每个数组元素指定初始值。动态初始化的语法格式如下:
int[] arrayName;
arrayName = new type[length];
系统按如下规则分配初始值:
byte、short、int、long分配初始值为0
float、double分配初始值为0.0
char分配初始值为’u0000’
boolean分配初始值为false
类、接口、String和数组分配初始值为null.

使用数组 

数组最常用的用法就是访问数组元素,包括对数组元素进行赋值和取出数组元素的值。访问数组元素都是通过在 数组引用变量后紧跟的一个方括号([]),方括号里是数组元素的索引值,这样就可以访问数组元素了。
访问到数组元素后,就可以把一个数组元素当成一个普通变量使用了,包括为该变量赋值和取出该变量的值,这 个变量的类型就是定义数组时使用的类型。

使用数组需要注意的地方

所值得指出的是,java语言的数组下标是从0开始的,也就是说,第一个元素的索引值为0,最后一个数组元素的索引值为数组长度减1.如果访问数组元素时指定的索引值小于0或者大于等于数组的长度,编译程序不会出现任何错误,但运行时出现异常:java.lang.ArrayIndexOutOfBoundsException:N(数组索引越界异常)。
所有的数组都提供了一个length属性,通过这个属性可以访问到数组的长度,就可以通过循环来遍历该数组的每个数组元素。
type[] arrayName = new type[10];
System.out.println(arrayName.length); // 此行语句就是输出数组的长度

原文地址:https://www.cnblogs.com/t0404/p/10291110.html