数组的定义

其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型,那么既然是引用数据类型,这里面实际又会牵扯到内存分配,而数组的定义语法有如下两类。

一  数组动态初始化:动态初始化之后是其对应的默认值,可以通过下标为内容设值
声明并开辟数组:
数据类型 [] 数组名称 = new 数据类型[长度];

int [] a=new int [10]

数据类型   数组名称 []  = new 数据类型[长度];

int  a  [] = new int [10]
数组下标是从0开始到数组长度-1这个范围,超出后报异常数组下标越界:ArrayIndexOutOfBoundsException

数组的操作一般与for循环结合使用,也就是数组喜欢被for循环操作

日后的开发中用的最多的数组处理形式就是 数组的for循环

那么当数组开辟空间之后,就可以采用如下的方式的操作:

1   数组的访问通过索引完成,即:“数组名称[索引]”,但是需要注意的是,数组的索引从0开始,所以索引的范围就是0 ~ 数组长度-1,例如开辟了3个空间的数组,所以可以使用的索引是:0,1,2,如果此时访问的时候超过了数组的索引范围,会产生java.lang.ArrayIndexOutOfBoundsException 异常信息;
2   当我们数组采用动态初始化开辟空间后,数组里面的每一个元素都是该数组对应数据类型的默认值;
3   数组本身是一个有序的集合操作,所以对于数组的内容操作往往会采用循环的模式完成,数组是一个有限的数据集合,所以应该使用 for 循环。
4   在 Java 中提供有一种动态取得数组长度的方式:数组名称.length;

数组的静态初始化,数组定义的时候就可以提供内容了,则可以采用静态初始化

数据类型   数组名称 []  = new 数据类型[长度];

int  a  [] = new int [3]{11,12,13}

数组一般建议用上面这种,静态初始化定义,完整格式

 数组在开发之中一定会使用,但是像上面的操作很少。在以后的实际开发之中,会更多的使用数组概念,而直接使用,99%情况下都只是做一个 for 循环输出。

数组静态初始化
在之前所进行的数组定义都有一个明显特点:数组先开辟内存空间,而后再使用索引进行内容的设置,实际上这种做法都叫做动态初始化,而如果希望数组在定义的时候可以同时出现设置内容,那么就可以采用静态初始化完成。

数组的静态初始化一共分为以下两种类型:

Tables Are
简化格式: 数据类型 数组名称 = {值, 值,…}
完整格式: 数据类型 数组名称 = new 数据类型[] {值, 值,…}
范例: 采用静态初始化定义数组

public class ArrayDemo {
public static void main(String args[]) {
int data[] = {1, 2, 4, 545, 11, 32, 13131, 4444};
for(int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
}

在开发之中,对于静态数组的初始化强烈建议使用完整语法模式,这样可以轻松地使用匿名数组这一概念。

public class ArrayDemo {
public static void main(String args[]) {
System.out.println(new int[] {1, 2, 4, 545, 11, 32, 13131, 4444}.length);
}
}

以后使用静态方式定义数组的时候一定要写上完整格式。

数组最大的缺陷:长度固定。

原文地址:https://www.cnblogs.com/shitulaoma/p/12460880.html