Java基础

04 Java数组

2017-01-25  本文已影响4人  acc8226

在计算机语言中数组是非常重要的集合类型,大部分计算机语言中数组具有如下三个基本特性:

  1. 一致性:数组只能保存相同数据类型元素,元素的数据类型可以是任何相同的数据类型。
  2. 有序性:数组中的元素是有序的,通过下标访问。
  3. 不可变性:数组一旦初始化,则长度(数组中预分配的元素个数)不可变

一维数组: 声明数组,创建数组空间,初始化三步.

格式1: 元素类型[] 数组名(推荐采用) ;
格式2: 元素类型 数组名[] ;
其中,数组元素的类型可以是基本类型,也可以是类或接口。

数组初始化

声明完成就要对数组进行初始化,数组初始化的过程就是为数组每一个元素分配内存空间,并为每一个元素提供初始值。初始化之后数组的长度就确定下来不能再变化了。

数组初始化可以分为静态初始化和动态初始化。

静态初始化

静态初始化就是将数组的元素放到大括号中,元素之间用逗号(,)分隔。
使用场景: 在已知数组的每一个元素内容情况下使用的,这样一次到位。
示例代码如下:String[] strArray = {"张三","李四","王五"}; //静态初始化Stirng数组

动态初始化

动态初始化使用new运算符分配指定长度的内存空间,
语法如下:new 元素数据类型[数组长度] ;

new分配数组内存空间后,不同类型都会有默认值,如下图。


数据类型默认值

多维数组

二维数组声明

当数组中每个元素又可以带有多个下标时,这种数组就是“多维数组”。
Java中声明二维数组需要有两个中括号,具体有三种语法如下:

元素数据类型[][] 数组变量名;
元素数据类型 数组变量名[][];
元素数据类型[] 数组变量名[];

二维数组的初始化

二维数组的初始化也可以分为静态初始化和动态初始化。

静态初始化

int intArray[][] = { { 1, 2, 3 }, { 11, 12, 13 }, { 21, 22, 23 }, { 31, 32, 33 } };

提示 严格意义上说Java中并不存在真正意义上的多维数组,只是一维数组,不过数组中的元素也是数组,以此类推三维数组就是数组的数组的数组了,例如{ { {1, 2}, {3} }, { {21}, {22, 23} } }表示一个三维数组。

动态初始化

语法: new 元素数据类型[高维数组长度] [低维数组长度] ;

3. 不规则数组

由于Java多维数组是数组的数组,因此会衍生出一种不规则数组
动态初始化不规则数组比较麻烦,不能使用new int[4][3]语句,而是先初始化高维数组,然后再分别逐个初始化低维数组。代码如下:

int intArray[][] = new int[4][]; //先初始化高维数组为4
//逐一初始化低维数组
intArray[0] = new int[2];
intArray[1] = new int[1];
intArray[2] = new int[3];
intArray[3] = new int[3];

4. 其它

数组的内存结构

数组中常见的Exception:

上一篇 下一篇

猜你喜欢

热点阅读