java数组的概念和作用

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 数组的概念

和其他语言一样,Java也提供数组支持,数组是属于引用类型,即数组是一个

对象。

强调数组的类型是引用类型。

数组的基本概念及作用

数组是相同数据类型元素的集合

数组本身是引用数据类型,即对象。但是数组可以存储基本数据类型,也可以存储引用数据类型。

数组的举例

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

String [] s = new String []{"小熊","小小熊","小小小熊"}; Employee [] e=new Employee[10];(Employee是自定义类)

2 数组的声明

数组的声明的两种方式:

数据类型 [] 数组名字例如:int [] a;

数据类型数组的名字 [] 例如: int a [];

注意:

在Java语言中两种声明方法没有任何区别,但是建议大家用第一种,避免混淆a的数据类型。

数组在声明后还只是一个空指针,不能使用,要想使用必须创建。

数组创建的三种方式:

•//声明数组的同时,根据指定的长度分配内存,但数组中元素值都为默认的初始化值

char[] chAry = new char[10];

•//声明数组并分配内存,同时将其初始化

•int[] ary1 = new int[]{1, 2, 3, 4, 5};

•//与前一种方式相同,仅仅只是语法相对简略

•int[] ary2 = {1, 2, 3, 4, 5};

从另一个角度,数组创建可以分为动态和静态两种

动态创建数组(没有为元素赋值,可以结合for循环进行赋值)

char[] chAry = new char[10];

静态创建数组,在创建的时候,即为每个元素赋初值

int[] ary1 = new int[]{1, 2, 3, 4, 5};

数组的长度

数组的长度:length属性

int [] b1 = new int []{1,2,3,4,5,6,7};

System.out.println(b1.length);

注意:数组的长度是属性,String的长度是length();

创建数组的时候必须指定数组的长度,而且一经定义则不允许改变。

数组的长度虽然是7,但是在内存中实际给8个位置,另外一个存储7.

数组之间赋值

在C语言中,不可以将数组直接赋值给另一个数组;

在Java中,语法上允许这样做,但实际得到的效果是两个数组引用指向同一块内存。

int[] ary1 = {2, 4, 6, 8, 10};

int[] ary2;

ary2 = ary1; //允许这样赋值

数组赋值示例

public class ArrayDemo {

public static void main(String[] args) {

int[] ary1 = {2, 4, 6, 8, 10}; //声明并初始化数组1

int[] ary2; //声明数组2

ary2 = ary1; //将数组1赋值给数组2

ary2[3] = 1024; //通过数组2修改其中一个元素的值

//打印出数组1中的元素

System.out.println("数组1中的元素:");

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

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

}

//打印出数组2中的元素

System.out.println("数组2中的元素:"); for (int i = 0; i < ary2.length; i++) {

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

}

}

}

3 数组的访问

数组元素的访问:

数组名字[索引] 例如:a[2];

注意:

数组的索引从0开始。

索引的数据类型是整型

索引最大值和数组长度始终差1 数组的迭代

数组迭代的两种方式:

第一种:for循环

int [] b1 = new int []{1,2,3,4,5,6,7};

System.out.println(b1[0]);

System.out.println(b1[2]);

//数组的迭代

for(int i =0;i

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

}

第二种:增强for循环

int [] b1 = new int []{1,2,3,4,5,6,7};

//增强for循环

for(数组元素的类型临时变量名字:数组的名字){ System.out.println(临时变量名字 );

}

即:

for(int x:b1){

System.out.println(x);

}

注意:

两种方式的迭代都可以,第二种在企业项目开发中较为常用增强for循环是JDK5之后增加的新特性。

多维数组的定义

二维数组的定义:

多维数组即数组的数组,即数组的元素也是数组

例如:

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

二维数组的声明:

三种方式:

int [][] a;

int []a1[];

int a2[][];

注意:建议用第一种,不容易混淆a的数据类型

int [][] a = new int [2][];

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

a[1] = {4,5,6};

多维数组的迭代:

int [][] b1 = new int [][]{{1,2},{3,4}};

for(int i =0;i

for(int j =0;j

System.out.print(b1[i][j]);

}

}

数组的拷贝

在JDK API的System类中,提供了一个数组拷贝的静态方法:

相关文档
最新文档