




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章数字 字符和字符串处理 在程序中 最经常处理的数据就是数字 字符和字符串 因此 在各种程序设计语言中 都提供有专门用来处理数字 字符和字符串的功能 Java语言也不例外 它提供有专门用来处理数字的Number及其子类 专门用来处理数学运算的Math类 专门用来处理字符的Character类以及专门用来创建和操作字符串的类String 这些类都位于java lang包中 本章主要讲解这些类的用法 5 1数字 本节介绍java lang包中的Number类及其子类 以及在什么条件下使用这些类的实例而不是使用原始数据类型 本节还会介绍PrintStream和DecimalFormat类 这两个类提供了输出格式化数字的方法 在本节的最后将介绍java lang包中的Math类 Math类包含有Java语言的数学运算函数 包括三角函数和指数函数等 5 1 1Numbers数字包装器类 一般在写程序时 当使用到数字时 多数都是在代码中使用原始数据类型 如int类型 float类型 byte类型等 这样书写代码比较简单易懂 例如在下面的代码中 有三个不同的数据类型 分别表示三个数字 5 1 2数字的格式化输出 在此之前 读者可能已经注意到使用print 和println 方法用于打印字符串到标准输出 System out 因为所有的数字都能被转换到字符串 所以程序员可以使用这些方法来打印出任意一个字符串和数字的混合 不过 Java程序设计语言提供有另外一些方法 当输出内容包含有数字时 程序员可以使用这些方法对打印输出进行更多的控制 1 printf 和format 方法2 格式化数字输出应用示例3 DecimalFormat类 5 1 3Math数学运算处理类 Java程序设计语言使用其算术运算符 和 支持基本的算术运算 在java lang包中的Math类提供有常量 并包含有用于执行基本数学运算的方法 如初等指数 对数 平方根和三角函数等 用于进行更高级的数学计算 1 常量和基本方法2 指数和对数方法3 三角方法4 随机数 5 2字符 字符指的是用单引号括起来的单个字母 在Java中 表示字符的数据类型为char 一个字符在内存中占16位大小的空间 2个字节 在编写程序的多数时候 如果想使用一个单独的字符值 通常会使用原始的char类型 5 2 1Character字符包装器类 有时候可能需要使用一个字符作为一个对象 例如 将一个字符作为一个方法的参数 而该参数应该为对象类型 同样地 Java语言也提供了一个 包装 wrapper 器 类 用来将char类型的字符 包装 为一个Character对象 一个类型为Character的对象包含一个单独的字段 其类型为char Character类还提供有一系列的类方法 静态方法 用于操纵字符 可以使用Character构造器创建一个Character对象 如下所示 Characterch sex newCharacter 男 5 2 2转义字符序列 在一个字符前带一个反斜线符号 是一个 转义字符序列 并且对于编译器来说 每一个转义字符序列都有一个特定的含义 在本书中的System out println 语句中 已经频繁地使用到换行符 n 这个转义字符 它的含义是在输出一个字符串后转到下一行 5 3使用String类 在Java语言中 把用双引号括起来零个或多个字符序列 称为字符串 如 早上好 HelloWorld 等 注意字符串和字符的区别 字符是用单引号括起来的一个字符 而字符串一定是用双引号括起来的零个或多个字符序列 5 3 1创建字符串对象 在Java中 把字符串作为对象来看待 不过对于初学者来说 可以把字符串看成是一种数据类型 就象其他数据类型一样 如int代表整数 float代表小数 Java用关键字String来代表字符串的类型 事实上 由于对于字符串的处理是如此频繁和重要 虽然在Java中字符串实际上是作为对象来存储的 但从使用形式上 它与一般的原始数据类型一样简单 1 使用new运算符2 直接赋初值3 初始化为null值 5 3 2获取字符串的长度 字符串对象有一个访问方法length 用来获取字符串的长度 调用字符串对象的length 方法 它会返回字符串对象中所包含的字符的个数 5 3 3连接字符串 最经常对字符串进行的操作之一是将两个字符串连接起来 合并为一个长的字符串 String类提供了一个用来连接两个字符串的方法concat 其使用形式如下所示 string1 concat string2 5 3 4字符串与字符数组 可以方便地将字符数组转换为字符串 然后利用字符串对象的属性和方法 对其进行进一步地处理 将字符数组转换为字符串的代码形式如下 char helloArray h e l l o StringhelloString newString helloArray 将字符数组作为构造函数的参数System out println helloString 5 3 5在一个字符串中操纵字符 String类提供有大量的方法来检查字符串的内容 例如 在一个字符串中查找特定的字符或子字符串 以及改变字符串中的内容等 下面就介绍这些在字符串中操纵字符的方法 1 通过索引获得字符和子字符串2 操纵字符串的方法3 在一个字符串中查找特定字符或子字符串4 替换一个字符串中的字符和子字符串 5 3 6字符串比较和字符串部分内容比较 String类还提供了一系列的方法 用来对字符串进行比较或对字符串的部分内容进行比较 例如比较两个字符串是否相等 字符串是否以指定的前缀开始或以指定的后缀结尾等 5 4使用StringBuilder类 一个String对象的长度是固定的 不能改变它的内容 也不能附加新的字符至String对象中 可以使用加号 运算符来连接字符串以达到附加新字符或字符串的目的 但使用加号 运算符会产生一个新的String实例 即需要另外分配空间 如果既想节省开销 又能改变字符串的内容 则可以使用StringBuilder类 5 4 1认识StringBuilder类 J2SE5 0提供java lang StringBuilder类 使用这个类所产生的对象默认会有16个字符的长度 程序员也可以自行指定初始长度 StringBuilder类就象一个可变长度的字符数组一样 内容和长度都可以被改变 如果附加的字符超出可容纳的长度 则StringBuilder对象会自动增加长度以容纳被附加的字符 5 4 2StringBuilder对象的长度和容量 StringBuilder类有一个length 方法 调用它会返回在StringBuilder字符串对象中的字符序列的长度 就象String类一样 但是StringBuilder类还有一个String类所没有的方法capacity capacity 方法可返回该对象目前已经被分配的 可容纳的字符容量 它总是大于或等于字符串对象的长度 并且根据情况可自行进行扩展 请看下面的代码片段 StringBuildersb newStringBuilder 创建一个空的StringBuilder对象 初始容量为16sb append Greetings 在内存空间的开始添加9个字符 5 4 3StringBuilder类提供的操作方法 在StringBuilder对象上所具有而在String对象上所没有的主要操作 是append 和insert 方法 它们有多种重载的形式 可以把不同类型的数据转化为字符序列 然后添加或插入到StringBuilder对象中 append 方法总是添加这些字符串到已经存在的字符序列的最后 而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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通银行2025洛阳市秋招无领导模拟题角色攻略
- 工商银行2025铜川市秋招笔试创新题型专练及答案
- 中国银行2025齐齐哈尔市秋招群面模拟题及高分话术
- 农业银行2025绵阳市秋招群面案例总结模板
- 农业银行2025德阳市秋招群面案例总结模板
- 农业银行2025甘南藏族自治州秋招面试典型题目及参考答案
- 年日用百货购销合同2篇
- 建设银行2025随州市金融科技岗笔试题及答案
- 中国银行2025宿州市秋招群面模拟题及高分话术
- 工商银行2025廊坊市小语种岗笔试题及答案
- 2025年中国电信校招试题及答案
- 《建筑工程资料管理》高职土建类相关专业全套教学课件
- 【物理】2025届安徽省普通高中高三下学期高考全真模拟训练(三)试题(解析版)
- 消防队伍管酒治酒课件
- 自然保护区巡护监测员技能测试题库及答案
- 2025年中铁特货物流股份有限公司招聘笔试参考题库附带答案详解
- 中国风设计元素课件
- 陕西省西工大附中2022-2023学年七年级上学期第一次月考英语试卷(含答案)
- 职业等级考评员培训课件
- 2025至2030全球及中国细胞培养行业产业运行态势及投资规划深度研究报告
- 2025年《党政机关厉行节约反对浪费条例》应知应会测试考试题库
评论
0/150
提交评论