版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 数字、字符和字符串处理,在程序中,最经常处理的数据就是数字、字符和字符串,因此,在各种程序设计语言中,都提供有专门用来处理数字、字符和字符串的功能。Java语言也不例外,它提供有专门用来处理数字的Number及其子类;专门用来处理数学运算的Math类;专门用来处理字符的Character类以及专门用来创建和操作字符串的类 String。这些类都位于java.lang包中。本章主要讲解这些类的用法。,5.1 数字,本节介绍java.lang包中的Number类及其子类,以及在什么条件下使用这些类的实例而不是使用原始数据类型。本节还会介绍PrintStream和DecimalFormat类
2、,这两个类提供了输出格式化数字的方法。在本节的最后将介绍java.lang包中的Math类。Math类包含有Java语言的数学运算函数,包括三角函数和指数函数等。,5.1.1 Numbers数字包装器类,一般在写程序时,当使用到数字时,多数都是在代码中使用原始数据类型,如int类型、float类型、byte类型等。这样书写代码比较简单易懂。例如在下面的代码中,有三个不同的数据类型,分别表示三个数字。,5.1.2 数字的格式化输出,在此之前,读者可能已经注意到使用print()和println()方法用于打印字符串到标准输出(System.out)。因为所有的数字都能被转换到字符串,所以程序员可
3、以使用这些方法来打印出任意一个字符串和数字的混合。不过,Java程序设计语言提供有另外一些方法,当输出内容包含有数字时,程序员可以使用这些方法对打印输出进行更多的控制。 1printf ()和format()方法 2格式化数字输出应用示例 3DecimalFormat类,5.1.3 Math数学运算处理类,Java程序设计语言使用其算术运算符“+”、“-”、“*”、“/”和“%”支持基本的算术运算。在java.lang包中的Math类提供有常量,并包含有用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数等,用于进行更高级的数学计算。 1常量和基本方法 2指数和对数方法 3三角方法
4、4随机数,5.2 字符,字符指的是用单引号括起来的单个字母。在Java中,表示字符的数据类型为char。一个字符在内存中占16位大小的空间(2个字节)。在编写程序的多数时候,如果想使用一个单独的字符值,通常会使用原始的char类型。,5.2.1 Character字符包装器类,有时候可能需要使用一个字符作为一个对象,例如,将一个字符作为一个方法的参数,而该参数应该为对象类型。同样地,Java语言也提供了一个“包装(wrapper)器”类,用来将char类型的字符“包装”为一个Character对象。一个类型为Character的对象包含一个单独的字段,其类型为char。Character类还提
5、供有一系列的类方法(静态方法)用于操纵字符。可以使用Character构造器创建一个Character对象,如下所示。 Character ch_sex = new Character(男);,5.2.2 转义字符序列,在一个字符前带一个反斜线符号“”,是一个“转义字符序列”,并且对于编译器来说,每一个转义字符序列都有一个特定的含义。在本书中的System.out.println()语句中,已经频繁地使用到换行符“n”这个转义字符,它的含义是在输出一个字符串后转到下一行。,5.3 使用String类,在Java语言中,把用双引号括起来零个或多个字符序列,称为字符串,如“早上好!”、“Hello
6、 World!”等。注意字符串和字符的区别,字符是用单引号括起来的一个字符,而字符串一定是用双引号括起来的零个或多个字符序列。,5.3.1 创建字符串对象,在Java中,把字符串作为对象来看待,不过对于初学者来说,可以把字符串看成是一种数据类型,就象其他数据类型一样,如int代表整数,float代表小数,Java用关键字String来代表字符串的类型。事实上,由于对于字符串的处理是如此频繁和重要,虽然在Java中字符串实际上是作为对象来存储的,但从使用形式上,它与一般的原始数据类型一样简单。 1使用new运算符 2直接赋初值 3初始化为null值,5.3.2 获取字符串的长度,字符串对象有一个
7、访问方法length(),用来获取字符串的长度。调用字符串对象的length()方法,它会返回字符串对象中所包含的字符的个数。,5.3.3 连接字符串,最经常对字符串进行的操作之一是将两个字符串连接起来,合并为一个长的字符串。String类提供了一个用来连接两个字符串的方法concat( ),其使用形式如下所示。 string1.concat(string2);,5.3.4 字符串与字符数组,可以方便地将字符数组转换为字符串,然后利用字符串对象的属性和方法,对其进行进一步地处理。将字符数组转换为字符串的代码形式如下。 char helloArray = h,e,l,l,o,.; String
8、helloString = new String(helloArray);/将字符数组作为构造函数的参数 System.out.println(helloString);,5.3.5 在一个字符串中操纵字符,String类提供有大量的方法来检查字符串的内容,例如,在一个字符串中查找特定的字符或子字符串,以及改变字符串中的内容等。下面就介绍这些在字符串中操纵字符的方法。 1通过索引获得字符和子字符串 2操纵字符串的方法 3在一个字符串中查找特定字符或子字符串 4替换一个字符串中的字符和子字符串,5.3.6 字符串比较和字符串部分内容比较,String类还提供了一系列的方法,用来对字符串进行比较或
9、对字符串的部分内容进行比较,例如比较两个字符串是否相等、字符串是否以指定的前缀开始或以指定的后缀结尾等。,5.4 使用StringBuilder类,一个String对象的长度是固定的,不能改变它的内容,也不能附加新的字符至String对象中。可以使用加号“+”运算符来连接字符串以达到附加新字符或字符串的目的,但使用加号“+”运算符会产生一个新的String实例,即需要另外分配空间。如果既想节省开销,又能改变字符串的内容,则可以使用StringBuilder类。,5.4.1 认识StringBuilder类,J2SE 5.0提供java.lang.StringBuilder类,使用这个类所产生的
10、对象默认会有16个字符的长度,程序员也可以自行指定初始长度。StringBuilder类就象一个可变长度的字符数组一样,内容和长度都可以被改变。如果附加的字符超出可容纳的长度,则StringBuilder对象会自动增加长度以容纳被附加的字符。,5.4.2 StringBuilder对象的长度和容量,StringBuilder类有一个length()方法,调用它会返回在StringBuilder字符串对象中的字符序列的长度,就象String类一样。但是StringBuilder类还有一个String类所没有的方法capacity()。capacity()方法可返回该对象目前已经被分配的、可容纳的
11、字符容量,它总是大于或等于字符串对象的长度,并且根据情况可自行进行扩展。请看下面的代码片段: StringBuilder sb = new StringBuilder();/创建一个空的StringBuilder对象,初始容量为16 sb.append(“Greetings”);/在内存空间的开始添加9个字符,5.4.3 StringBuilder类提供的操作方法,在StringBuilder对象上所具有而在String对象上所没有的主要操作,是append()和insert()方法,它们有多种重载的形式,可以把不同类型的数据转化为字符序列,然后添加或插入到StringBuilder对象中。a
12、ppend()方法总是添加这些字符串到已经存在的字符序列的最后,而insert()方法则将字符或字符串添加到指定的位置。,5.5 实例,关于字符串的处理,在实际开发应用程序时会经常用到。本节就通过两个应用实例“用户登录验证程序”和“敏感词过滤程序”,帮助读者了解和掌握字符串处理在实际应用程序开发中的应用。这两个实例都用到了本节所讲述的字符串处理方法。,5.5.1 实例1:用户登录验证程序,在很多程序中,为了保护数据信息的安全,需要对登录应用程序的用户进行验证,只有通过验证的用户,如已经注册的用户或指定权限的用户,才能进入系统并拥有相应的操作权限。,5.5.2 实例2:敏感词过滤程序,在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度股权转让合同详解
- 2024年度船员工作环境改善合同
- 灯具企业2024年度品牌授权合同
- 2024年度研发合作合同:某高校与某企业合作开展科研项目
- 2024版渣土运输行业标准合同2篇
- 2024年度物业公司提供的电梯维护合同
- 二零二四年度设备采购与安装协议
- 二零二四年度网站建设合同与内容托管协议
- 钢构清工承包合同
- 二零二四年度体育赛事举办权委托合同
- 2024年舟山继续教育公需课考试题库
- 一年级拼音默写表
- 家长会课件:七年级家长会班主任优质课件
- 《思想道德与法治》 课件 第四章 明确价值要求 践行价值准则
- 危大工程及超过一定规模的危大工程清单(住建部2018第31号文)
- 光伏发电项目并网接入系统方案
- 完整版牙体牙髓病学总结
- 食材验收管理小组及职责
- 本科教学工作审核评估学院汇报PPT课件
- 城市轨道交通车站的作用
- 联合国国际货物买卖合同公约(CISG)
评论
0/150
提交评论