字符串和文本IO.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
字符串和文本IO

规范字符串 修改缓冲区中的字符串 追加 插入 删除 toString,capacity,length,setLength charAt方法 toString(): 从缓冲区返回字符串 capacity():返回缓冲区容量。length = capacity 当字符串长度超过缓冲区容量,capacity会自动增加 length():返回缓冲区中字符数量 setLength(newLength):设置缓冲区长度 charAt(index):返回下标为index的字符 Java程序设计 字符串和文本I/O 学习目标 掌握String类处理固定长度的字符串 了解Character类处理单个字符 掌握StringBuffer类处理可变长度字符串 使用File类处理文件 使用PrintWriter类向文件写数据 使用Scanner类从文件读数据 String类 java.lang.String表示一个固定长度的字符序列。 构造函数 长度(length) 获取字符(charAt) 连接(concat) 截取(substring) 比较(equals, equalsIgnoreCase, compareTo, startWith, endWith, regionMatch) 转换(toLowerCase, toUpperCase, trim, replace) 查找(indexOf, lastIndexOf) 字符串和数组间转换(getchars, toCharArray) 字符串和数字间转换(valueOf) 构造函数 从字面值创建字符串 String newString = new String(stringLiteral); 例如: String message = new String(Welcome to Java); 由于字符串经常使用,java提供了创建字符串的简写形式。 String newString = stringLiteral; 例如: String message = Welcome to Java; 字符串是不可变的 字符串对象创建之后,其内容是不可修改的。 String s = “java”; s = “HTML”; s s 规范字符串 由于字符串是不可变的,为了提高效率和节省内存,Java中的字符串字面值维护在字符串常量池中)。这样的字符串称为规范字符串(canonical string)。 可以使用字符串对象的intern方法返回规范化字符串。intern方法会在字符串常量池中找是否已存在”Welcome to Java”,如果有返回其地址。如果没有,在池中添加“Welcome to java”再返回地址。 String s = Welcome to Java; String s1 = new String(Welcome to Java); String s2 = ern(); String s3 = Welcome to Java; System.out.println(s1 == s); //false System.out.println(s2 == s); //true System.out.println(s3 == s); //true : String Welcome to Java : String Welcome to Java //代码1 ?? String?sa=new?String(Hello?world);?????????? ?? String?sb=new?String(Hello?world);???? ?? System.out.println(sa==sb);??//?false????? ?? //代码2?? ?? String?sc=Hello?world;?? ?? String?sd=Hello?world; ?? System.out.println(sc==sd);??//?true 代码1中局部变量sa,sb中存储的是JVM在堆中new出来的两个String对象的 内存地址。虽然这两个String对象的值(char[]存放的字符序列)都是 “Hello world”。 因此“==”比较的是两个不同的堆地址。 代码2中局部变量sc,sd中存储的也是地址, 但却指向常量池中唯一的那个字符串对象Hello world的地址 。自然相等了。 字符串对象的创建方式有两种如下: String s1 = new String(“…”);?? //第一种 String s2 = “”;?????????????? //第二种 第一种始终不会入池的 第二种要看情况而定 (等号右边如果是常量则入池,非常量则不入池) 比较字符串 equal

文档评论(0)

80219pm + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档