疯狂java笔记——数组

java语言支持两种方法定义数组

type[ ] Name;

type Name[ ];

例如 int a[ ]; int[ ] a;

建议使用第一种,第二种容易将Name[]当成一个变量;

定义数组不能指定长度

初始化

1.静态初始化

Name = new type[ ]{ a1,a2,a3.....} type是数组类型

如下:

// 定义一个int数组类型的变量,变量名为intArr.

int[] intArr;

// 使用静态初始化,初始化数组时只指定数组元素的初始值,不指定数组长度。

intArr = new int[ ]{5, 6, 8 , 20};

简洁点写也可以 int[ ] Name = {a1,a2,a3}

2.动态初始化

动态初始化只指定数组长度,系统指定初始值。

Name = new type[length];

如int [] price = new int[5];

不要同时使用静态初始化和动态初始化,就是不要同时在初始化同时指定数组长度,也为数组分配具体值。

数组越界:

数组索引是从0开始,就是数组第一个值。最后一个值为长度-1

如果访问数组指定的索引小于0,或者大于等于数组长度,运行会出现异常。

java.lang.ArrayIndexOutOfBoundsException:N (数组索引越界异常,N就是索引值)

二维数组

type[] [] Name

初始化:Name = new type[length] []

如:int[][] a;

a = new int[4][] a 是一个长度为4的int型数组,

// 初始化a数组的第一个元素,长度为2

a[0] = new int[2];

// 访问a数组的第一个元素所指数组的第二个元素

a[0][1] = 6;

// 同时初始化二维数组的2个维数

int[][] b = new int[3][4];

// 使用静态初始化的语法来初始化一个二维数组

String[][] str1 = new String[][]{new String[3], new String[4],new String[5]};

这样写相当于str1长度为3,其中第一个长度为3,第二个为4,第三个为5。

也可以直接定义某一个具体值

String[][] str1 = new String[][]{new String[3], new String[]{"hello"}};

相当于String[1][0] = "hello" (str1长度为2,第二个元素为长度为1的数组)

猜你喜欢

转载自blog.csdn.net/qq_36332133/article/details/81182671
今日推荐