JAVA学习——数组 下

一维数组

语法:

数组元素类型[]

数组名; 如:int[] ages;

另一种方式:int ages[]; (不推荐)

  1. 可以把int[]看成是一种数据类型——int类型的数组类型。
  2. int[] 数组可以看出,该数组中的元素类型是int类型的。
  3. String[] 数组可以看出,该数组中的元素是String类型的。

数组的初始化:

数组在定义后,必须初始化才能使用。所谓初始化,就是在堆内存中给数组分配存储空间,并为每一个元素赋上初始值。

初始化有两种方式:

静态初始化(除了用new关键字来产生数组以外,还可以直接在定义数组的同时 就为数组元素分配空间并赋值。)
 动态初始化(数组定义与为数组元素分配空间并赋值的操作分开进行)

数组元素的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经 分配空间,其中的每个元素也被按照实例变量同样的方式被隐式 初始化。

数组的界限

定义并用运算符new为之分配空间后,才可以引用数组中的每个元素

数组元素的引用方式:arrayName[index]

每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度 (元素个数)

起点和终点

一维数组优点:按照索引查询效率高

缺点

  1.   添加删除元素效率低;   
  2. 按照内容查询效率低(无序)  

 冒泡排序:基本的排序算法,理解排序规则,实现并完善排序代码

    数组类型做形参

二维数组

int [][] a = {{1,2},{3,4,0,9},{5,6,7}};

Java中多维数组不必须是规则矩阵形式

二维数组可以看成以数组为元素的数组。

例如: int [][] a= {{1,2},{3,4,5,6},{7,8,9}};

Java中多维数组的声明和初始化应按从高维到低维的顺序进行,

列如:

int [][] a= new int[3][];
a[0] = new int[2]; ***
a[1] = new int[4];
a[2] = new int[3];
int t1[][] = new int[][4]; //非法

二维数组的初始化

Declare, create and initiate in the same time :
int intA[][] = {{1,2},{2,3},{3,4,5}};
int intB[3][2] = {{1,2},{2,3},{4,5}};//非法
Ø Declare, create and initiate separately :
int a[][] = new int[3][5];
int b[][] = new int[3][] ;
b[0] = new int[2];
b[1] = new int[3];
b[2] = new int[5];

二维数组的实质:每个元素是一维数组的一维数组

     

数组常见异常

  1. NullPointerException
    空指针异常(空引用异常)操作了一个尚未初始化或者没有分配内存空间的数组
  2. ArrayIndexOutOfBoundsException
    数组的索引越界异常,操作的数组的索引不在[0,数组名.length-1]范围内

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值