第5章-字符串及其应用解析.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章-字符串及其应用解析

如果希望截取字符串的一部分,可以使用substring方法,如果只有一个参数,那么这个参数start是指开始截取的位置,从这个位置截取字符串到尾部。如这个例子,截取第6个字符以及其之后的所有字符。 如果方法有两个参数,那么第二个参数就是结束的位置。这个例子表示截取第6到第9个字符,包含第6个字符,但不包含第6个字符,共有3个字符。结果就是wor。 * 如果要连接两个字符串,可以使用String对象的concat方法。这个例子代码可以把符串my name is和java连起来,形成一个新的字符串my name is Java. 在实际编程中,为了代码简洁,我们会常常使用加法操作符来连接两个或多个字符串。这个例子中,三个字符串hello逗号,world和叹号使用加号进行字符串的连接,形成一个字符串对象。 * 此外,在Java编程中,Java语法规则不允许将一个常量字符串写在多行中,也就是常量字符串必须在一行中,如常量字符串特别长,写在一行中不利于阅读代码, 我们可以将长字符串拆成多个短字符串,写在多行中,并用加号连接符连接成一个长字符串。 * 字符串的比较也是一项经常用到的比较,比如比较两个用户名是否相同等。在这儿一定要注意的是,不可以使用等号来比较字符串的内容是否相同! 比较字符串的内容必须使用equals方法。在这个例子中,我们有三个字符串对象,他们的内容都是hello world,但第三个变量s3中world的w是小写, 而s1和s2中的world的首字母是大写。S1.equals(s2)返回的值是true,表示s1和s2的内容相同;但s1.equals(s3)返回false,因为这是一种大小写敏感的比较。 如果忽略大小写的差异进行比较,则可以使用equalsIgnoreCase方法,这样s1和s3的比较结果就是true了。 如果使用等号比较s1和s2,那么结果是false。使用等号时比较的是两个对象的引用,也即两个对象的地址,s1和s2是两个不同的对象,具有不同的引用,所以返回false。 但使用等号比较不是这么简单,如果涉及常量字符串,情况可能变得负责,我们来看下一页的例子。 * … * 常用的字符串查询分别有contains:查询字符串中是否存在某个字符串;startswith查询字符串是否以某字符串开头;endswith方法查询字符串是否以某字符串结尾;indexOf方法查询某字符串在原字符串之中的位置。 例子中,字符串s的内容是hello world,contains(hello)返回true,意味着s中包含Hello * * * * 前面我们介绍了String类,表示字符串除了String类之外,还有一个StringBuilder类。 * 在对字符串的操作中,如果只是偶尔修改,可以使用String类的replace或者substring等方法进行操作。但如果频繁修改,那么使用String中的方法将会比较低效。这种情况下我们可以使用StringBuilder类。 StringBuilder类是Java 5中新增的类:它的优点是对字符串进行修改时效率高,缺点是如果将之应用于多个线程,可能存在读写的冲突,不安全。 * StringBuilder除了长度这个属性外,还有一个容量属性。长度length如String类,表示字符串对象中字符的数目;而容量表示用于存储字符的单元的数量,容量是大于或者等于字符串长度,一般来说都是大于。当字符串被修改,变长时,容量可能会不够,StringBuilder对象会自动扩充容量。 * 创建一个新的StringBuilder对象,有多个构造方法。无参数的构造方法可以创建一个容量为16的空字符串;当然我们可以使用initCapacity来制定字符串的初始容量。如果构造方法的参数是一个string类型的对象,那么StringBuilder的内容将与s相同,并在气候增加16个空元素,也就是容量比长度大16. * 这个例子展示了StringBuilder对象的操作。首先我们创建了一个新的StringBuilder对象,长度为0,容量为16.也就是为这个对象分配了16个字符单元。 然后对这个字符串附加一个字符串Hello,hello有5个字符,那么16个字符单元的前5个位置被填入Hello,这样字符串sb的长度是5,容量还是16. * 除了上一个例子中的append方法之外,StringBuilder类中还有多个修改方法,如delete,insert,replace,reverser等。需要注意的是,这些方法是真正对字符串进行修改,这些方法执行之后,字符串的内容将会改变。这一点是与String类型不同的。需要格外注意。 * 最后一个介绍的类是StringBuffer类 * 这个类的使用方法与S

文档评论(0)

2299972 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档