Java语言程序设计讲义第五章Word文档下载推荐.docx

上传人:b****5 文档编号:19244102 上传时间:2023-01-04 格式:DOCX 页数:13 大小:38.35KB
下载 相关 举报
Java语言程序设计讲义第五章Word文档下载推荐.docx_第1页
第1页 / 共13页
Java语言程序设计讲义第五章Word文档下载推荐.docx_第2页
第2页 / 共13页
Java语言程序设计讲义第五章Word文档下载推荐.docx_第3页
第3页 / 共13页
Java语言程序设计讲义第五章Word文档下载推荐.docx_第4页
第4页 / 共13页
Java语言程序设计讲义第五章Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Java语言程序设计讲义第五章Word文档下载推荐.docx

《Java语言程序设计讲义第五章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计讲义第五章Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

Java语言程序设计讲义第五章Word文档下载推荐.docx

格式:

typearrayName[];

说明:

●type为Java中任意的数据类型(简单类型或组合类型)

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

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

例如:

intintArray[];

堆栈内存区堆内存区

null

intArray

intArray|

 

2.建立一维数组

arrayName=newtype[arraySize];

arraySize指明数组的长度。

例如:

intArray=newint[3];

//为一个整型数组分配3个int型整数所占据的内存空间。

intArray

intArray.length

intArray[0]

intArray[1]

intArray[2]

3

通常,可以将数组的定义和建立合在一起,格式如下:

typearrayName=newtype[arraySize];

intintArray=newint[3];

等价于下面的语句,

intintArray[];

intArray=newint[3];

3.初始化一维数组

方法1:

在定义数组的同时对数组初始化。

例:

intintArray[]={2,4,6}//系统自动为数组元素分配内存空间

方法2:

在定义数组并建立数组后,对数组初始化。

intArray[0]=2;

intArray[1]=4;

intArray[2]=6;

3.数组元素的引用

格式:

arrayName[index]

说明:

●index可以是整型常数或表达式。

如a[3],c[6*i](i为整型)。

●下标从0开始,一直到数组的长度减1。

●如果下标index超出了数组大小的范围,会产生ArrayIndexOutOfBoundException异常。

●与C、C++中不同,Java语言对数组元素要进行越界检查以保证安全性。

同时,对于每个数组都有一个属性length指明它的长度,例如:

intArray.length指明数组intArray的长度。

例5.1:

对数组中的每个元素赋值,然后按逆序输出。

publicclassArrayTest{

publicstaticvoidmain(Stringargs[]){

inti;

inta[]=newint[5];

for(i=0;

i<5;

i++)

a[i]=i;

for(i=a.length-1;

i>=0;

i--)

System.out.println("

a["

+i+"

]="

+a[i]);

}

}

4.数组间的复制

(1)Java语言的数组是作为对象来看待,通过引用来操作的。

(2)将数组传递到方法中时,只传递数组的引用,而不是这个数组元素。

(3)一个数组变量只是生成了一个存放数组的存储位置,而未分配数组元素占用的实际内存空间。

(4)由于数组是对象,将一个数据变量赋值给另一个数组变量时,只是复制数组的引用。

intinta[]=intArray;

执行完该语句后,内存空间为:

inta

intArray.length

intArray[1]

2

4

6

(5)数组拷贝的另一种方法是采用java.lang.System类中的arraycopy()方法。

viodarraycopy(ObjectsourceArray,intsourceArray,

ObjectdestinationArray,

intdestinationArrayStartPosition,

intnumberOfElementsToCopied);

●从源数组的给定位置,拷贝一定长度的子串到目标数组的给定位置。

●若拷贝过程中涉及了数组边界之外的数据,则抛出异常ArrayIndexOutOfBoundsException;

●若源数组数据由于类型不匹配而无法拷贝到目标数组,则抛出异常ArrayStoreException。

●在调用arraycopy方法之前,必须先分配目标数组所用的存储空间。

例:

intintArray[]={2,4,6};

inta[]={1,2,3,4,5};

System.arraycopy(intArray,0,a,0,intArray.length);

a

a.length

a[0]

a[1]

a[2]

a[3]

a[4]

|

5.3多维数组

与C、C++一样,Java语言中多维数组被看作数组的数组。

例如二维数组是一个特殊的一维数组,其每个元素又是一个一维数组。

1.二维数组的定义

typearrayName[][];

intintArray[][];

2.分配内存空间

方法1:

直接为每一维分配空间

例:

inta[][]=newint[2][3];

从最高维开始,分别为每一维分配空间

例:

inta[][]=newint[2][];

a[0]=newint[3];

a[1]=newint[3];

●与C、C++不同,Java在定义和建立多维数组时,不一定要指明每一维的长度。

●建立数组时,数组最前面的1维或n维必须指定元素个数,只有后面的方括号中可以不指定元素个数。

inta[][][]=newint[8][][];

a

length

a[0][0]

a[0][1]

a[0][2]

a[1][0]

a[1][1]

a[1][2]

3.二维数组元素的引用

arrayName[index1][index2]

其中index1、index2可为整型常数或表达式。

4.二维数组的初始化

直接对每个元素进行赋值。

在定义数组的同时进行初始化。

inta[][]={{2,3,5},{1,3,4}};

该句定义了一个2×

3的数组,并对每个元素赋值。

Java字符数组的定义和使用方法与上述内容完全一样。

两个矩阵Am×

n、Bn×

l相乘得到Cm×

l,每个元素Cij=aik*bkj

publicclassMatrixMultiply{

inti,j,k;

intb[][]={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};

intc[][]=newint[2][4];

i<2;

for(j=0;

j<3;

j++)

a[i][j]=(i+1)*(j+2);

i++){

for(j=0;

j<4;

j++){

c[i][j]=0;

for(k=0;

k<3;

k++)

c[i][j]+=a[i][k]*b[k][j];

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1