实验5 Java的数组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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循环 ⏹当数组出现越界情况时,会引起数组越界异常; ⏹当直接使用数组名,未分配空间时,会出未初始化错误;