Java程序设计资料:单元10 String与StringBuffer.doc

上传人(卖家):罗嗣辉 文档编号:2047629 上传时间:2022-01-21 格式:DOC 页数:8 大小:5.46MB
下载 相关 举报
Java程序设计资料:单元10 String与StringBuffer.doc_第1页
第1页 / 共8页
Java程序设计资料:单元10 String与StringBuffer.doc_第2页
第2页 / 共8页
Java程序设计资料:单元10 String与StringBuffer.doc_第3页
第3页 / 共8页
Java程序设计资料:单元10 String与StringBuffer.doc_第4页
第4页 / 共8页
Java程序设计资料:单元10 String与StringBuffer.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、单元 10 String 与 StringBuffer单元目标 掌握字符串长度、比较、连接、提取、查询; 掌握分割字符串、大小写转化等操作的方法; 掌握 StringBuffer 对象的常用方法 append()、delete()等; 理解 String 和 StringBuffer 的区别;学习任务1.任务描述设计实现了一个天气预报的数据处理的功能,能提供在线的信息编辑处理,比如插入删除和修改,以及查找、替换等功能。对天气预报数据处理要求为:1) 将每日的天气用字符串数组表示;2) 将每日的天气用转为可编辑字符串数组表示;3) 将每日的天气每个空格处替换为,,在日期前加序号格式为 1、2、等

2、;4) 获得第 5 日夜间的温度。2.运行结果5 日星期一 白天 多云 高温 11 微风夜间 晴 低温 2 微风6 日星期二 白天 晴 高温 15 微风夜间 晴 低温 4 微风1、5 日星期一,白天,多云,高温,11,微风夜间,晴,低温,2,微风 3 级2、6 日星期二,白天,晴,高温,15,微风夜间,晴,低温,4,微风 3 级5 日夜间温度:温度:2知识准备10.1 创建 String 字符串Java 中字符串是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java 将字符串作为 String 类型对象来处理。将字符串作为内置的对象处理允许 Java 提供十分丰富的功

3、能特性,以方便处理字符串。字符串是由字符组成的序列,用双引号引起来。JAVA 语言提供了两种字符串类。一类是不可变的字符串 String,另一类是可变的字符串 StringBuffer。创建字符串方式归纳起来有三种:第一种,使用 new 关键字创建字符串。例如:String s1 = new String(山东商业职业技术学院);第二种,直接指定。天气预报信息处理程序设计天气预报信息处理程序设计例如:String s2 = 山东商业职业技术学院;第三种,使用串联生成新的字符串。例如:String s3 = 山东商业职业学院 + 信息技术学院;10.2 String 类的常用操作String 类

4、包括的方法有:求字符串长度;比较字符串;搜索字符串;提取子字符串等。String 表示一个 UTF-16 格式的字符串。10.2.1 计算字符串长度使用 length() 方法获得字符串中字符的个数。例如:String title=”山东商业职业技术学院”;System.out.println(title.length();打印得到字符串的长度为:10。10.2.2 比较两个字符串对象的内容使用方法 equals(Object anObject) 比较此字符串与指定的对象。当且仅当该参数不为 null,并且是表示与此对象相同的字符序列的 String 对象时,结果才为 true。例如:Stri

5、ng title1=”山东商业职业技术学院”;String title2=”山东商业职业技术学院信息技术学院”;System.out.println(title1.equals(title2)打印输出 false。10.2.3 获得指定位置的字符使用方法 charAt(int index) 返回指定索引处的 char 值。索引范围为从 0到 length() - 1。序列的第一个 char 值在索引 0 处,第二个在索引 1 处,依此类推,这类似于数组索引。例如:String title=”山东商业职业技术学院信息技术学院”;System.out.print(title.charAt(0);/

6、输出字符山System.out.print(title.charAt(title.length()-1);/输出字符院天气预报信息处理程序设计10.2.4 返回字符串第一次出现的位置使用方法 indexOf(String str)返回第一次出现的指定子字符串在此字符串中的索引。例如:String title=”山东商业职业技术学院信息技术学院”;title.indexOf(“商业”);/得到“商业”字符串的位置是 210.2.5 获取子串使用 substring(int beginIndex, int endIndex) 方法返回一个新字符串, 它是此字符串的一个子字符串。例如:String

7、title=”山东商业职业技术学院信息技术学院”;title.substring(11,15);/获得内容为“信息技术”的子字符串10.2.6 拆分字符串使用方法 split(String regex)按照给定的字符串拆分此字符串。例如:String title=”山东商业职业技术学院 信息技术学院”;String data=new String2;title.split(“ ”);System.out.println(data0);System.out.println(data1);打印“山东商业职业技术学院”和“信息技术学院” 。10.2.7 忽略前导空白和尾部空白使用 trim()方法返

8、回字符串的副本,忽略前导空白和尾部空白。例如:String greeting=”你好! ”;String name=”王先生”;String title=greeting.trim()+name;/title 为:你好!王先生10.2.8 替换旧的字符为新字符方法 replace(char oldChar,char newChar)返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有 oldChar 得到的。例如:String title=”山东商业职业技术学院信息技术学院”;title.replace(山,广);10.2.9 StringBuffer 对象的创建String

9、Buffer 类和 String 一样,也用来代表字符串,只是由于 StringBuffer的内部实现方式和 String 不同,所以 StringBuffer 在进行字符串处理时,不生成新的对象,在内存使用上要优于 String 类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用 StringBuffer 要更加适合一些。但是有一个最显著的区别在于,对于但是有一个最显著的区别在于,对于 StringBuffer 对象的每次修改都会对象的每次修改都会改变对象自身,这点是和改变对象自身,这点是和 String 类最大的区别。类最大的区别。StringBuffer

10、类位于 java.lang基础包中,因此要使用它的话不需要特殊的引入语句。10.3 StringBuffer 类的常用方法10.3.1 StringBuffer()StringBuffer 类的构造方法构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。创建了不包含任何文本的对象,默认的容量是 16 个字符。例如:StringBuffer sb = new StringBuffer();10.3.2 StringBuffer(String str)使用该方法构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。例如:StringBuffer sb1 = new StringBu

11、ffer(123);10.3.3 append(String str)使用该方法将指定的字符串追加到此字符序列。例如:String user = test;StringBuffersqlquery=newStringBuffer(select*fromuserInfowhereusername=);sqlquery.append(user );System.out.println(sqlquery.);打印输出:select * from userInfo where username=test10.3.4 insert(int offset, String str)使用该方法将字符串 str

12、 插入字符序列中。天气预报信息处理程序设计例如:String title=”山东信息技术学院”;title.insert(2,”商业职业技术学院”);title 得到的信息为“山东商业职业技术学院信息技术学院”10.3.5 toString()使用该方法返回此序列中数据的字符串表示形式。例如:StringBuffer sb2 = new StringBuffer(s);/String 转换为 StringBufferString s1 = sb1.toString(); /StringBuffer 转换为 String10.3.6 replace(int start, int end, Str

13、ing str)使用该方法将字符串中的从 start 开始到 end-1 结束的字符串替换为子字符串 str。例如:String title=”山东信息技术学院”;title.replace(0,2,”深圳”);System.out.print(title);打印 title 的信息是“深圳信息技术学院”10.3.7 substring(int start, int end)使用该方法返回一个新的 String,它包含此序列当前所包含的字符子序列。例如:StringBuffer sbx4 = new StringBuffer(hello world!);System.out.println(s

14、bx4.substring(6, 11).toString();打印结果为 world10.3.8 delete(int start, int end)使用该方法移除此序列的子字符串。例如:StringBuffer sbx1 = new StringBuffer(TestString);sbx1.delete (0,4);System.out.println(sbx1);打印输出:Test任务实施1实现思路字符串 String 提供了很多方法可以求长度、查找、替换、去掉首尾空格等。StringBuffer 提供了追加和删除、插入操作。 解决问题的步骤:先定义一个变量存放字符串,然后使用字符串的

15、相关方法实现。在定义一个 StringBuffer 类型的变量来编辑处理天气信息字符串。打开 Eclipse,创建一个类 WeatherForcast;声明一个 String 类的对象 WeatherForcast;利用 String 类的求长度、查找子字符串,并将天气预报的内容按天分为两个String 对象;用数组表示两个 String 对象;利用 String 类实现查找替换获取长度等操作;利用 StringBuffer 实现追加和删除等操作;2.程序代码public class WeatherForcast public static String splite(String weath

16、erData, StringdateOfWeather) String eachDayOfReport = new String2;/ 存放每天的天气情况eachDayOfReport = weatherData.split(dateOfWeather);eachDayOfReport1 = dateOfWeather + eachDayOfReport1;return eachDayOfReport;public static void getNightTemperature(String data, String night) int begin = data.indexOf(night)

17、;int end = 0;for (int i = 0; i 3; i+) / 向后移3个,,返回索引begin = data.indexOf(, begin + 1);end = data.indexOf(, begin + 1);System.out.println(温度: + data.substring(begin + 1, end);/ 显示夜间温度/ 获得夜间温度public static void main(String args) String weatherforcast = 5日星期一 白天 多云 高温 11 微风 +夜间 晴 低温 2 微风+6日星期二 白天 晴 高温 1

18、5 微风 + 夜间 晴 低温 4微风;String eachDayOfReport = new String2;/ 存放每天的天气eachDayOfReport = splite(weatherforcast, 6日);天气预报信息处理程序设计for (int count = 0; count eachDayOfReport.length; count+)System.out.println(eachDayOfReportcount);StringBuffer stb = new StringBuffer(eachDayOfReport0),new StringBuffer(eachDayOf

19、Report1) ;/ 创建可编辑字符串数组for (int i = 0; i stb.length; i+) String modifiedText = (stbi.toString().replaceAll( , ,);stbi.replace(0, stbi.capacity(), );stbi.append(modifiedText);/ 追加修改后的文本stbi.append(3级);/ 追加微风3级int b = stbi.toString().indexOf();stbi.delete(b, b + .length();/ 删除第一个stbi.insert(0, Integer.

20、toString(i + 1) + 、);/ 插入序号System.out.println(stbi.toString();System.out.print(5日夜间温度:);getNightTemperature(stb0.toString(), 夜间);/ 获得5日夜间温度任务拓展Java 语言中,提供了专门用来分析字符串的类 StringTokenizer(位于java.util 包中) 。该类可以将字符串分解为独立使用的单词,并称之为语言符号。语言符号之间由定界符(delim)或者是空格、制表符、换行符等典型的空白字符来分隔。其他的字符也同样可以设定为定界符。StringTokeniz

21、er 类的构造方法StringTokenizer(String str, String delim)为字符串 str 构造一个字符串分析器,并使用字符串 delim 作为定界符。 StringTokenizer 类的主要方法及功能 String nextToken() 用于逐个获取字符串中的语言符号(单词) 。 boolean hasMoreTokens() 用于判断所要分析的字符串中,是否还有语言符号,如果有则返回 true,反之返回 false。 int countTokens() 用于得到所要分析的字符串中,一共含有多少个语言符号。【实例 3-8】使用 StringTokenizer 统

22、计单词的个数。【源代码】import java.util.StringTokenizer;天气预报信息处理程序设计public class WordCounting public static void main(String args) int count = 0;String content = This is a test. Please be honesty!;StringTokenizer st = new StringTokenizer(content, .! );while (st.hasMoreTokens() System.out.println(st.nextToken();count+;System.out.println(单词个数: + count);该程序产生的输出如下:ThisisatestPleasebehonesty单词个数:7任务实训1.实训目的 掌握 Java 中字符串的创建和使用; 熟悉字符串的常见操作及方法; 熟悉 StringBuffer 类的方法。2.实训内容使用作业提交系统提交 Java 作业时,需要输入 Java 源代码文件名,并输入自己的邮箱,提交前对 Java 文件名以及邮箱有效性进行检查。编写代码实现对输入的 Java 源文件名以及邮箱有效性的检测。天气预报信息处理程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(Java程序设计资料:单元10 String与StringBuffer.doc)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|