第6章数组字符串及容器类.ppt





《第6章数组字符串及容器类.ppt》由会员分享,可在线阅读,更多相关《第6章数组字符串及容器类.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章数组字符串及容器类 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望第第6 6章章 数组、字符串及容器类数组、字符串及容器类n6.1一维数组n6.2多维数组n6.3字符串处理 n6.4数组与容器的比较 n6.5容器n6.6迭代器n6.7容器的分类法n6.8总结n6.9习题6.16.1一维数组一维数组 n6.1.1一维数组的声明 n6.1.2一维数组的初始化 n6.1.3一维数组的引用 6.1.16.1.1一维数组的声明一维数组的声明n数组声明的语法格式有以下两
2、种:arraytype array-name;或arraytype array-name;n例如:int month_days;或int month_days;6.1.26.1.2一维数组的初始化一维数组的初始化 n静态初始化是在定义数组的同时对数组元素进行初始化:String strName=“I”,”like”,”Java!”;String strName=“I”,”like”,”Java!”;n数组的动态初始化:数组名=new数组元素类型长度;即:array-name=new typearraySize;P1246.1.36.1.3一维数组的引用一维数组的引用 n所谓数组元素的引用,指的
3、是如何在程序中引用初始化后的数组元素,引用的方式为arrayNameindex,其中index为数组的下标,可以是整型常数、变量和表达式,范围是从0开始,一直到数组的长度减一。例如:int a=1,2,3,4,5;a0=1;a1=2;a2=3;a3=4;a4=5;p125 6.26.2多维数组多维数组n6.2.1二维数组的声明 n6.2.2二维数组的初始化 n6.2.3二维数组的引用 6.2.16.2.1二维数组的声明二维数组的声明 n二维数组和一维数组一样,也必须先声明再创建,声明和创建也可以合在一条语句中完成。二维数组声明的格式为:数组元素类型 数组名;或数组元素类型 数组名;6.2.26
4、.2.2二维数组的初始化二维数组的初始化n二维数组的初始化也分为静态初始化和动态初始化两种。所谓静态初始化,就是在定义二维数组的同时为数组分配了空间,如下:int int_array=1,1,1,2,2,2,3,3,3;n对于二维数组的动态初始化,可以有两种方法:(1)直接为每一维分配空间,格式如下:arrayName=new typearrayLen1 arrayLen2;(2)从最高维开始,分别为每一维分配空间,格式如下:arrayName=new type arrayLen1;6.2.36.2.3二维数组的引用二维数组的引用n 对二维数组中元素的引用格式如下:arrayNameindex
5、1index2;其中arrayName代表二维数组的名称,index1和index2是下标,与一维数组一样,这两个下标可以是常数、变量和表达式,如int_array 12、int_array a1、int_array a*20,而且每一维的下标都是从0开始,一直到该维长度减一。p129页6.36.3字符串处理字符串处理 n6.3.1生成字符串n6.3.2访问字符串 n6.3.3修改字符串 n6.3.4其他操作 6.3.16.3.1生成字符串生成字符串n1.构造String实例对象的方法 构造String实例对象的方法主要有三种:(1)采用双引号将Java字符序列括起来,既通过构造字符串直接量的
6、方式构造String实例对象。例如:String s1=”abcd”;(2)采用new运算符 例如:String s1=new String();(3)通过运算符”+”或其他成员方法生成String实例对象。例如:String s1=”abcd”+”1234”;6.3.16.3.1生成字符串生成字符串n2.StringBuffer类的主要构造方法 (1)public StringBuffer()创建一个空的StringBuffer类;(2)public StringBuffer(int length)创建一个大小为length的StringBuffer类;(3)public StringBuf
7、fer(String str)按str创建一个动态可变的StringBuffer类。6.3.26.3.2访问字符串访问字符串 n所谓访问字符串,就是获得字符串的长度,得到某个字符或子串在字符串中的索引位置获得到指定位置的字符或字串。1.String类的常用方法 2.StringBuffer类的常用方法6.3.36.3.3修改字符串修改字符串n在对字符串的操作中,经常会对给定的字符串进行一些修改操作,在本小节中,我们将对类String和StringBuffer中提供的一些字符串修改方法进行介绍,主要是介绍String类提供的几种方法。6.3.46.3.4其他操作其他操作n这里将介绍一些与字符串有
8、关的其他方法,例如:1.startsWith(String preString)和endWith(String endString)2.startsWith(String preString,int offsetInd)3.equals()和equalsIgnoreCase()6.46.4数组与容器类的比较数组与容器类的比较n6.4.1数组与容器类的区别 n6.4.2Arrays类 6.4.16.4.1数组与容器类的区别数组与容器类的区别(1)效率(2)类型(3)持有基本类型的能力 6.4.16.4.1数组与容器类的区别数组与容器类的区别 n数组的简单实例:n实际上我们无论使用哪种数组,数组的
9、标识符都只是一个引用,可以作为数组初始化的一部分隐式的创建这个对象,或用new表达式显式的来创建。length方法表示数组对象能够存储多少元素,“”操作符是访问数组对象的唯一一种方式。6.4.16.4.1数组与容器类的区别数组与容器类的区别n基本类型的容器:基本类型的容器:n数组可以保存对象的引用,也可以直接保存基本类型,而容器类只能保存对象的引用。当然容器中可以使用包装类,如Integer,Byte,Double等,用来代替基本类型的值。但是相对于基本数据类型,包装类使用起来不是很方便。6.4.2Arrays6.4.2Arrays类类n填充数组 n复制数组 n比较数组 n比较数组元素 nbi
10、narySearch()的用法 6.56.5容器容器n6.5.1容器类简介n6.5.2容器的填充n6.5.3容器的缺点6.5.16.5.1容器类简介容器类简介 Java2容器类类库的用途是“保存对象”,它分为两类:Collection:一组独立的元素,通常这些元素都服从某种规则。List必须保持元素特定的顺序,而Set不能有重复元素。Map:一组成对的“键值对”对象,即其元素是成对的对象。6.5.26.5.2容器的填充容器的填充 nCollections也有一个非常实用的static方法集,其中有一个fill()方法,该方法的作用也是用同一个对象的引用来填充容器,并只对List对象起作用,而对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 字符串 容器

限制150内