欢迎来到天天文库
浏览记录
ID:36197786
大小:461.00 KB
页数:54页
时间:2019-05-07
《java第5章数组及应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章数组及应用内容提要数组是程序开发中使用最多的数据结构之一。Java语言同样支持数组的使用,与其他语言不同的是Java数组是一种引用数据类型。本章将介绍如何创建和使用数组、数组的数组。5.1创建和使用数组5.1.1数组定义5.1.2数组的使用5.1.3数组元素的复制5.1.4数组作为方法参数和返回值5.1.5实例:随机抽取4张牌5.1.6实例:一个整数栈类5.1.7可变参数的方法5.1.8数组的排序5.1.9数组的查找5.1创建和使用数组数组是几乎所有程序设计语言都提供的一种数据存储结构。所谓数组是名称相同,下标
2、不同的一组变量,它用来存储一组类型相同的数据。5.1.1数组定义下面就来介绍如何声明、初始化和使用数组。使用数组一般需要3个步骤:①声明数组:声明数组名称和元素的数据类型。②创建数组:为数组元素分配存储空间。③数组的初始化:为数组元素赋值。5.1.1数组定义1.数组声明使用数组之前需要声明,声明数组就是告诉编译器数组名和数组元素类型。数组声明可以使用下面两种等价形式:type[]arrayName;typearrayName[];例如,下面声明了几个数组:double[]score;String[]words;Cir
3、cle[]circle;5.1.1数组定义2.创建数组数组声明仅仅声明一个数组对象引用,而创建数组是为数组的每个元素分配存储空间。创建数组使用new语句,一般格式为arrayName=newtype[arraySize];该语句功能是分配arraySize个type类型的存储空间,并通过arrayName来引用。例如:score=newdouble[5];circle=newCircle[10];5.1.1数组定义数组的声明与创建可以写在一个语句中,例如:double[]score=newdouble[5];Stri
4、ng[]words=newString[3];当用new运算符创建一个数组时,系统就为数组元素分配了存储空间,这时系统根据指定的长度创建若干存储空间并为数组每个元素指定默认值。对数值型数组元素默认值是0、字符型元素的默认值是'u0000'、布尔型元素的默认值是false。如果数组元素是引用类型,其默认值是null。5.1.1数组定义上面两个语句分别分配了5个double型和3个String类型的空间,并且每个元素使用默认值初始化。上面两个语句执行后效果如图5.1所示。5.1.1数组定义数组score的每个元素都被初
5、始化为0.0,而数组words的每个元素被初始化为null。对于引用类型数组(对象数组)还要为每个数组元素分配引用空间,例如:words[0]=newString("Java");words[1]=newString("is");words[2]=newString("cool");上面语句执行后效果如图5.2所示。5.1.1数组定义声明数组同时可以使用初始化器对数组元素初始化,这种方式适合数组元素较少的情况,这种初始化也称为静态初始化,例如:double[]score={79,84.5,63,90,98};Stri
6、ng[]words={"Java","is","cool"};5.1.1数组定义上面两句还可以写成:double[]score=newdouble[]{79,84.5,63,90,98};String[]words=newString[]{"Java","is","cool",};用这种方法创建数组不能指定大小,系统根据元素个数确定数组大小。另外可以在最后一个元素后面加一个逗号,以方便扩充。5.1.2数组的使用1.数组元素的使用定义了一个数组,并使用new运算符为数组元素分配了内存空间后,就可使用数组中的每一个元素。
7、数组元素的使用方式是:arrayName[index]下面程序演示了数组的使用和length成员的使用。程序5.1ArrayDemo.java5.1.2数组的使用使用增强的for循环如果程序只需顺序访问数组中每个元素,可以使用增强的for循环,它是Java5新增功能。增强的for循环可以用来迭代数组和对象集合的每个元素。它的一般格式为:for(typeidentifier:expression){//循环体}5.1.2数组的使用该循环的含义为:对expression(数组或集合)中的每个元素identifier,执行
8、一次循环体中的语句。这里,type为数组或集合中的元素类型。expression必须是一个数组或集合对象。下面程序演示了一个元素为字符串的对象数组的使用。5.1.2数组的使用程序5.2EnhancedForDemo.javapublicclassEnhancedForDemo{publicstaticvoidmain(String[]args)
此文档下载收益归作者所有