我们都知道,数组是编程语言中最常见的数据结构,数据要求所有的数组元素具有相同的数据类型,即一个数组里只能存储一种数据类型的数据,而不能存储多种数据类型的数据。
值得指出的是,也是本篇着重提出的一点是,数组也是一种数据类型,它本身是一种引用类型,比如说String是一个基本类型,而String[]就是一种引用类型了。与String相似,String[]也一样可以定义变量(定义数组的一种方式),由于String[]是一种引用类型,创建String[] 类型的对象也就是创建数组,需要使用创建数组的语法。
创建数组的语法格式有两种:
1.String arrName[];
2.String[] arrName;
上面的两种方式都能够创建数组,但是相比较来说,第二种方式更符合定义变量的语法,首先String[]是变量类型,arrName是变量名字。而第二种方式,如果按照这样的理解的话,String是变量类型,arrName[]属于变量名,显然这是错误的。所以方法二具有更好的可读性(现在很多变成语言中都已经不再支持第一种定义数组的方法了)
从前面的一篇博客中可以知道,一旦定义了一个数组,它在内存中所占的内存空间将被固定,因此数组的长度将不可变,即使把数组元素清空,数组的长度依然不变,所占空间依然被保留。
另外,数组是一种引用类型,所以用数组定义变量的时候,仅仅定义了一个引用变量(指针),这个引用变量还未指向有效的内存,所以定义数组的时候不能指定数组的长度(String[10] arrName这样是不对的),只能对数组进行初始化的时候才能指定长度并使用数组。
初始化方法:
1.静态初始化
String[] arrName;
arrName=new String[]{"1","2","3"};
2.动态初始化
String[] arrName;
arrName=new String[4];