Java学习总结第六天Java数组

来源:互联网 发布:材料入库单软件 编辑:程序博客网 时间:2024/04/30 18:36

数组

数组:是有相同类型的、用一个标识符名称封装到一起的一个对象序列或基本数据类型数据序列。

Ø 数组是一种最简单的复合数据类型。

Ø 数组可以是一维的也可以是多维的。

 

一维数组定义:

type  arrayName[ ] 或 type[ ] arrayName

说明:

type : 可以是java中任意的数据类型,包括简单类型和复合类型(也可以是数组)

arrayName :为一个合法的标识符;

[ ]指明该变量是一个数组类型的变量。

 

声明数组变量:

例如声明一个数组x:

int     x[ ];

int [ ]  x;

Ø 声明一个数组,每个元素都是整数数据。

Ø 声明的时候不指定数组的长度。

Ø 只声明的数组是不能访问它的任何元素的。

 

为数组分配空间:

new关键为对象分配其内存空间。

type arrayName = new type[arraySize]

例如: int[] x = new int[100];

通过引用来使用数组元素 :arrayName[index]

Ø index为数组下标,可是整型常数或表达式。

Ø index取值从 0 到 arraySize-1;

x = null 即该数组对象不再被任何引用变量使用的时候,“垃圾回收器”将自动释放该内存资源。

 

数组的初始化:静态初始化和动态初始化。

静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。

例如:int ia[ ]={1,2,3,4};

int ia[ ]=new int[ ]{3,4,5};

 

动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值。

例如:int intArray[];//声明数组

intArray = new int[5];//为数组分配空间

注意:声明数组时,无论用何种方式定义数组,都不能指定其长度

例如:int a[5];    L错误:因为声明的时候不能指定长度

使用数组时要注意的问题:

1. 空指针异常(NullPointException)

只声明但没有初始化的时候直接使用该变量。

2. 数组越界异常(ArrayIndexOutBoundsException)

所有数组的下标都从0开始

int[] a ={1,2,3};

for (int i= 0; i< a.length; i++){

      System.out.println(a[i]);

  }

其中length属性表示数组的长度。

 

多维数组

Ø 多维数组(数组的数组):java没有真正的多维数组,只有数组的数组

Ø 二维数组的定义

type arrayName[ ][ ];或 type[ ][ ] arrayName;

例子:

int   xx[ ][ ] = new int[3][3];

int[ ][ ]   xx = {{3,2,7},{1,5},{6}};

3

2

7

1

5

6

Ø 静态初始化

int intArray[ ][ ]={{3,2,7},{1,5},{6}};

Ø Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。

Ø 动态初始化

int[][] xx = new int[3][];  //指定一个3行n列的数组

xx[0] = new int[3];  //指定第一行为3列

xx[1] = new int[2]; //指定第二行为2列

Ø Java语言中,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。



0 0
原创粉丝点击