实验5 Java的数组

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

实验5 Java的数组

1、主要教学目标

(1)掌握Java中数组的声明和内存空间分配;

(2)掌握Java数组的初始化过程;

(3)掌握数组引用的概念。

2、重点内容

通过复习C语言中数组的概念,掌握Java语言中数组的声明、内存分配、初始化以及数组的引用等概念。

3、难点分析

数组的初始化,数组的内存分配以及引用。

讲授内容

一、数组的概念

§1.1函数

在未使用对象时定义函数,使用Public static 类型的函数。

⏹Public static void print()

⏹静态函数与类无关,相当于C语言中的函数。

§1.2数组

Java中的数组是一个复合数据类型,数组中的元素具有相同的类型。

⏹元素类型可以是基本数据类型,类的对象,也可以是数组类型

⏹数组元素是有序排列的,使用下标来访问

⏹数组有一个属性length,表示数组的长度

⏹数组必须经过声明,构造,赋初值三个步骤以后才能使用(定义—内存分配—赋值)。

声明一个一维数组的方式如下:

⏹元素数据类型[] 数组名称;

⏹元素数据类型数组名称[];

注意:

⏹两种声明方式完全相同

⏹在[ ]里面什么都不能有

⏹声明一个数组并没有为数组元素分配内存,因此还不能使用它们。

声明数组后,通过使用运算符new为数组分配内存空间,之后数组才能存储数据。

/*声明整型数组intArray, 包含10个元素*/

int[] intArray;

intArray=new int[10];

/*声明单精度型数组floatArray,包含15个元素*/

float floatArray[] = new float[15];

1、新建一个整数型数组,数组包括4个元素,打印数组内的各个元素。

public class App5_1

{

public static void main(String[] args)

{

int[] n = new int[4];

int k = n.length;

for(int i=0;i

{

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

}

}

}

⏹一维数组在声明的时候,[]里面是什么都不能有的,但是在使用new运算符进行创建的时候,必须指明

数组的长度,只有这样系统才能知道应该给这个数组分配多少内存。

⏹与C语言不同,Java允许在创建数组时使用整型变量来指定数组元素的个数。这为数组的使用带

来了很大的灵活性。

二、数组的静态初始化

⏹声明数组的同时对数组进行初始化赋值。

char ch[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘\n’};

⏹将各个元素的初始值放在赋值号=右边的大括号{}里面,各个值之间用逗号,隔开

⏹在赋值号=的右边没有new运算符,也不说明数组的长度,系统会根据初始值的个数,自动计算数组的

长度

三、数组的引用和克隆

⏹数组的类型可以是复杂结构类型;

⏹数组名代表数组的首地址,数组间可相互直接赋值,表示数组共同指向同一地址。

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

b=a; //数组b指向和数组a相同的地址

5、数组的引用。

public class App5_2

{

public static void main(String[] args)

{

int[] n = new int[4];

int[] b = n;

int k = n.length;

for(int i=0;i

{

n[i]=i;

}

for(int i=0;i

{

System.out.print(n[i]);

}

System.out.println(" ");

for(int i=0;i

{

System.out.print(b[i]);

}

}

}

数组的length属性;

int[] intArray = new int[20];

int L = intArray.length;

6、数组克隆,利用数组名.clone()方法克隆一个数组。

public class App5_3

{

public static void main(String[] args)

{

int[] n = new int[4];

int[] b;

int k = n.length;

for(int i=0;i

{

n[i]=i;

}

b = n.clone();

for(int i=0;i

{

b[i]=k-i;

}

for(int i=0;i

{

System.out.print(n[i]);

}

System.out.println(" ");

for(int i=0;i

{

System.out.print(b[i]);

}

}

}

四、数组中出现的异常和For循环

⏹当数组出现越界情况时,会引起数组越界异常;

⏹当直接使用数组名,未分配空间时,会出未初始化错误;

相关文档
最新文档