疯狂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的数组)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值