【精品】java 实用程序设计(西电版第6章 常用预定义类(可编辑.ppt

上传人:1595****071 文档编号:71301705 上传时间:2023-02-02 格式:PPT 页数:60 大小:2.20MB
返回 下载 相关 举报
【精品】java 实用程序设计(西电版第6章 常用预定义类(可编辑.ppt_第1页
第1页 / 共60页
【精品】java 实用程序设计(西电版第6章 常用预定义类(可编辑.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《【精品】java 实用程序设计(西电版第6章 常用预定义类(可编辑.ppt》由会员分享,可在线阅读,更多相关《【精品】java 实用程序设计(西电版第6章 常用预定义类(可编辑.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Java 实用程序设计(西电版)第6章 常用预定义类2 2第 6 章 常用预定义类6.1 字符串操作1.String字符串操作是计算机程序中最常见的行为之一。在Java中,String是一种引用类型,Java程序中的String对象总是不可变的,String类中每个与String值的修改相关的方法,实际上都会创建一个新的String对象,以包含修改后的字符串的内容。3 3第 6 章 常用预定义类4 4第 6 章 常用预定义类5 5第 6 章 常用预定义类6 6第 6 章 常用预定义类7 7第 6 章 常用预定义类8 8第 6 章 常用预定义类9 9第 6 章 常用预定义类2.StringBui

2、lder StringBuilder类是早期StringBuffer类的一个性能更高的替代者,提供了与StringBuffer兼容的API。与StringBuffer相比,StringBuilder是非同步的。一般情况下优先使用StringBuilder,只有在需要线程同步时才考虑使用StringBuffer。10 10第 6 章 常用预定义类11 11第 6 章 常用预定义类12 12第 6 章 常用预定义类13 13第 6 章 常用预定义类14 14第 6 章 常用预定义类3.CharSequence在Java中,接口CharSequence包含了从String、StringBuffer、

3、StringBuilder等类中抽象出的字符序列的一般操作,见表6-2。后续介绍的正则表达式的多数操作都接受CharSequence类型的对象。15 15第 6 章 常用预定义类16 16第 6 章 常用预定义类4.Scanner 在J2SE 5.0中,引入了java.util.Scanner类来实现从文本或标准输入方便地读取数据。Scanner的构造方法可以接受多种输入对象,如File、InputStream、String、Readable等。有了Scanner对象之后,所有的输入、分词的操作都可以通过不同类型的next方法来完成。所有的基本类型(除char之外)都有对应的next方法,一般

4、next()方法则返回String对象。所有的next方法,都只有在找到了一个完整的分词之后才会返回。Scanner类还包含hasNext()方法帮助判断下一个输入分词是否为所需的类型。17 17第 6 章 常用预定义类18 18第 6 章 常用预定义类19 19第 6 章 常用预定义类5.StringTokenizerStringTokenizer类是一个实现Enumeration接口的类,它使得应用程序可以将字符串分成多个记号(token)。分隔的依据是分隔符(delimiter),所谓分隔符,指的是字符串中用于分隔记号的字符。在默认情况下,分隔符为空格,例如将字符串“this is a

5、test”分成四个单词记号。用户也可以指定分隔符。2020第 6 章 常用预定义类21 21第 6 章 常用预定义类2222第 6 章 常用预定义类6.2 正 则 表 达 式正则表达式是一种很强大的文本处理工具,早在Java出现之前,它就已被用在Unix工具集中。1.正则表达式的创建为了编写能够完成一般文本处理任务的正则表达式,本节介绍一些常用的正则表达式构造子。正则表达式中使用的字符的典型形式如表6-3所示。2323第 6 章 常用预定义类2424第 6 章 常用预定义类2525第 6 章 常用预定义类2626第 6 章 常用预定义类2727第 6 章 常用预定义类2828第 6 章 常用预

6、定义类2.通过String使用正则表达式在介绍String类的主要接口方法及其含义(表6-1)时,我们遗留了一些与正则表达式相关的String操作,如表6-8所示。2929第 6 章 常用预定义类3030第 6 章 常用预定义类31 31第 6 章 常用预定义类3232第 6 章 常用预定义类例6-9 StringReplacement.java:字符串替换操作。3333第 6 章 常用预定义类3.通过Pattern和Matcher使用正则表达式相比直接使用String类与正则表达式相关的方法,使用java.util.regex包中的Pattern类和Matcher类进行正则表达式操作能够实现

7、更为强大的功能。Pattern对象就是编译好的正则表达式,可以应用于任意多个字符串,而Matcher对象则对应于单独的字符串实例,表示将正则表达式应用于具体的目标字符串上。3434第 6 章 常用预定义类3535第 6 章 常用预定义类3636第 6 章 常用预定义类3737第 6 章 常用预定义类3838第 6 章 常用预定义类查找和替换也是正则表达式的常用操作,第6.2节已经介绍了使用String的方法进行的查找和替换。Matcher类的replaceFirst(String)方法以参数字符串替换掉第一个匹配成功的字符串,replaceAll(String)方法以参数字符串替换掉所有匹配成

8、功的字符串。假设s为输入字符串,regex为正则表达式字符串,s2为替换字符串,那么 s.replaceAll(regex,s2)3939第 6 章 常用预定义类等价于 Ppile(regex).matcher(s).replaceAll(s2)且 s.replaceFirst(regex,s2)等价于 Ppile(regex).matcher(s).replaceFirst(s2)4040第 6 章 常用预定义类41 41第 6 章 常用预定义类4242第 6 章 常用预定义类4343第 6 章 常用预定义类4.通过Scanner使用正则表达式Scanner类除了能够扫描基本类型之外,还能够

9、与自定义的正则表达式配合进行扫描。在例6-14中,使用hasNext()方法检查下一个记号是否与指定正则表达式pattern匹配,如果匹配,就通过next()方法找到这一输入部分,然后调用match()方法获得匹配的结果。匹配结果是MatchResult类型,能够通过group()方法获得正则表达式中指定的组所对应的匹配子串。4444第 6 章 常用预定义类4545第 6 章 常用预定义类4646第 6 章 常用预定义类6.3 数学运算与随机数1.MathMath类包含了基本数学函数所对应的方法,这些方法一般可分为3类:三角函数方法(表6-9)、指数函数方法(表6-10)、浮点数操作方法(表6

10、-11)和其他服务方法(表6-12)。4747第 6 章 常用预定义类4848第 6 章 常用预定义类4949第 6 章 常用预定义类5050第 6 章 常用预定义类51 51第 6 章 常用预定义类2.Random表6-12介绍的Math.random()方法提供了一种生成随机值的简便方法。本节将介绍更为复杂和强大的随机数生成类java.util.Random。Random类的实例能够用于实现一系列的伪随机数,该类使用一个48位的种子,构造Random对象时,可以为其指定一个long类型的种子。如果Random类的两个对象实例使用了同一个种子,且同样的方法调用序列应用于其上,那么它们会产生同

11、样的伪随机数序列。Random类的接口方法及其含义如表6-13所示。5252第 6 章 常用预定义类5353第 6 章 常用预定义类6.4 Arrays类java.util包中的Arrays类包含了很多实用的数组处理方法,包括对数组的排序、查找、比较和元素填充等,这些方法均为静态方法,详见表6-14。5454第 6 章 常用预定义类5555第 6 章 常用预定义类5656第 6 章 常用预定义类5757第 6 章 常用预定义类6.5 基本类型与包装类(Wrapper)本节将介绍包装类(Wrapper)的概念。Java为每一种基本数据类型提供相应的Wrapper类,这些Wrapper类都在java.lang包中。Wrapper类的基本用法是能够将基本类型的值封装为一个Wrapper对象。各种基本数据类型对应的Wrapper类可见表6-15。所有Wrapper类均以java.lang.Number类作为共同的抽象父类。5858第 6 章 常用预定义类5959第 6 章 常用预定义类6060第 6 章 常用预定义类在例6-15中,在构造Interger类型的对象a和b时,通过自动装箱对25和23进行封装,而在两次println()方法调用中,Interger对象可以自动拆箱为基本类型数据,然后通过String.valueOf()方法转换为字符串,或进行相加运算。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁