版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九章 -字符串学习目标n掌握String的基本用法如何定义、初始化字符串如何访问字符串长度如何比较、连接、提取字符串n会使用StringBuffer类的方法对字符串进行操作/无处不在的字符串n生活中的字符串n使用String对象存储字符串nString类位于java.lang包中,具有丰富的方法计算字符串的长度连接字符串比较字符串提取字符串/ 频繁使用的字符串频繁使用的字符串 “有志者事竟成有志者事竟成 ” “离奥运会开幕还有离奥运会开幕还有380天天” “教育改变生活教育改变生活”String s = 有志者事竟成有志者事竟成;String s = new String(有志者事竟成有志者
2、事竟成);字符串长度2-1/package s1java.sg.chap9;import java.util.*;public class Hello1 public static void main(String args) System.out.print(请随机输入你想到的名字:请随机输入你想到的名字: ); Scanner input = new Scanner(System.in); String name = input.next(); System.out.println(这个名字的长度是这个名字的长度是: + name.length()+ );随机输入你心中想到的一个名字,然后
3、输出它的字符串长度调用字符串的调用字符串的length()方法可方法可以获得字符串的长度以获得字符串的长度要想打印输出引号要想打印输出引号(”),必须在字符串,必须在字符串中使用转义序列中使用转义序列”字符串长度2-2n计算字符串长度/字符串字符串长度长度调用调用length() 方法获得方法获得返回字符串返回字符串中的字符数中的字符数调用方法调用方法:字符串标识符字符串标识符.length();方法原型方法原型:public int length() 字符串比较4-1 两个学员输入各自最喜欢的课程名称,判断是否一致/ /判断课程名称是否相同判断课程名称是否相同 if(favCourse1.e
4、quals(favCourse2) System.out.println(最喜欢的课程相同最喜欢的课程相同); else System.out.println(最喜欢的课程不相同最喜欢的课程不相同); 比较两个字符串比较两个字符串是否相等是否相等 演示示例演示示例2:演示比较字符串演示比较字符串 字符串比较4-2nequals()方法比较原理n输入的“Java”和“java”代表同一课程,如何解决?使用equalsIgnoreCase()方法结合toUpperCase()或toLowerCase()/字符串字符串 1字符串字符串 2检查组成字符串内容的字符是否完全一致检查组成字符串内容的字符是
5、否完全一致字符串比较4-3使用equalsIgnoreCase()方法解决/比较时忽略大小写形式比较时忽略大小写形式if(favCourse1.equalsIgnoreCase(favCourse2) System.out.println(最喜欢的课程相同最喜欢的课程相同); else System.out.println(最喜欢的课程不相同最喜欢的课程不相同); 字符串比较4-4结合toUpperCase()方法解决/Java使用使用 toUpperCase( ) 方法方法JAVAJava使用使用 toLowerCase( ) 方法方法javaif(favCourse1.toUpperCas
6、e().equals(favCourse2.toUpperCase() System.out.println(最喜欢的课程相同最喜欢的课程相同);else System.out.println(最喜欢的课程不相同最喜欢的课程不相同);小结1 学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码/选用哪个方法更合适?选用哪个方法更合适? 字符串连接3-1 小李的Java成绩如表所示,输出他的成绩单学科成绩SQL80Java90HTML86.7/public static void main(String args) int sqlScore = 80; /sql成
7、绩成绩 int javaScore = 90; /java成绩成绩 double htmlScore = 86.7; /html成绩成绩 /创建成绩单创建成绩单 String scoreSheet = SQL: + sqlScore + Java: + javaScore + HTML: + htmlScore; /打印成绩单打印成绩单 System.out.println(*令狐冲成绩单令狐冲成绩单*); System.out.println(scoreSheet); “+”连接字符连接字符串串String scoreSheet = SQL:t + sqlScore + nJava:t +
8、javaScore + nHTML:t + htmlScore;数值型变量自数值型变量自动转换成动转换成String类型类型字符串连接3-2n方法1:使用“+”n方法2:使用String类的concat()方法/你好,张三!你好,张三!String s = new String(你好,你好,);String name = new String(张三!张三!);String sentence = s.concat(name);System.out.println(sentence);输出结果输出结果A.concat(B):B字符串将被连接到字符串将被连接到A字符串后面字符串后面字符串的分割n字符
9、串的分割,就是控制分割后,形成多个字符串 String ses=s.split(str);如:/String str = new String(英语,数学,语文英语,数学,语文 );String courses=str.split(,);/提取字符串中的单个字符n在这里我们可以使用charAt();String a=“nihao”;char b=a.charAt(3);System.out.print(b);a注意:注意:charAt()方法返回的是方法返回的是char类型的值,里边的参数是要求提取的位置类型的值,里边的参数是要求提取的位置 字符串常用提取方法4-1 使用作业提交系统提交Jav
10、a作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现/ 合法的文件名应该以.java结尾 合法的邮箱名中至少要包含“”和“.”, 并检查“”是否在“.”之前字符串常用提取方法4-2n常用提取方法举例方法说明public int indexOf(int ch) 搜索第一个出现的字符ch(或字符串value)public int indexOf(String value)public int lastIndexOf(int ch) 搜索最后一个出现的字符ch(或字符串value)public int lastIndexOf(String val
11、ue)/返回出现第一个匹配的位置,返回出现第一个匹配的位置, 如果没如果没有找到字符或字符串,则返回有找到字符或字符串,则返回-1青春无悔0 1 2 3 位置位置 演示示例演示示例4:演示常用字符串提取方法:演示常用字符串提取方法 字符串常用提取方法4-3方法说明public String substring(int index)提取从位置索引开始的字符串部分public String substring(int beginindex, int endindex)提取beginindex和endindex之间的字符串部分public String trim()返回一个前后不含任何空格的调用字符
12、串的副本/beginindex: 字符串的位置从字符串的位置从0开始算;开始算;endindex: 字符串的位置从字符串的位置从1开始算开始算 字符串常用提取方法4-4/ /检查检查Java文件名文件名 int index = fileName.lastIndexOf(.); if(index!=-1 & index!=0 & fileName.substring(index+1, fileName.length().equals(java) fileCorrect = true; else System.out.println(文件名无效。文件名无效。); /检查你的邮箱格式
13、检查你的邮箱格式if (email.indexOf() !=- 1 & email.indexOf(.) email.indexOf() emailCorrect = true;else System.out.println(Email无效。无效。); 演示示例演示示例5:演示作业提交系统:演示作业提交系统 作业提交系统作业提交系统小结2 如果要打印输出“小鱼儿”,应填入的代码是什么? /String word = Hello, ;word = word.trim();String s = word.concat(小鱼儿小鱼儿!);int index1 = s.indexOf(,);i
14、nt index2 = s.indexOf(!);System.out.println(s.substring(_, _);index1+1index2StringBuffernStringBuffer:String增强版,n可以使用append方法进行字符串的追加,并且只是基于一个对象的操作,StringBuffer对象的存储容量只要超过初始容量,都会在使用的过程中自动的增加。nStringBuffer声明nStringBuffer的使用/StringBuffer sb = new StringBuffer();StringBuffer sb = new StringBuffer(aaa);
15、创建空字符串创建空字符串创建一个变量存储创建一个变量存储字符串字符串aaasb.toString(); /转化为转化为String类型类型sb.append(*); /追加字符串追加字符串StringBuffer的用武之地 /声明课程信息字符串声明课程信息字符串 StringBuffer course = new StringBuffer(); System.out.println(请输入请输入S1课程信息:课程信息: ); Scanner sc = new Scanner(System.in); /循环从键盘接收字符串循环从键盘接收字符串 String input; while(!(inpu
16、t = sc.next().equals(#) course.append(input); course.append(n); System.out.println(s1的课程信息是:的课程信息是: + course);定义定义StringBuffer的实的实例,存储课程字符串例,存储课程字符串循环追加字符,使用循环追加字符,使用StringBuffer,效率高!,效率高!从控制台接收课程信息,不断累加直到输入从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息键结束,并输出全部课程信息 String与StringBuffernString:为不可变对象,一旦被创建,就不能修
17、改它的值。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。耗内存,效率低其声明方式: String s=“hello”; 或 String s=new String(“hello”);nStringBuffer:是一个可变对象,当对他进行修改的时候不会重新建立对象只能通过构造函数来建立,即声明方式只能是:StringBuffer sb = new StringBuffer(“hello”);不能通过赋值符号对他进行赋值。 如sb = “welcome to here!”;是错误的。向StringBuffer中追加字符串使用它的append方法:sb.appe
18、nd();StringBuilder类nJ2se 5.0 提供了java.lang.StringBuilder类,一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。n该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer要快。 n在StringBuilder上的主要操作是append和insert方法,重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串生成器中。append方法始终将这些字符添加到生成器的末端;而 insert 方法则在指定的点添加字符。n常用方法:查阅和使用API文档/三个表示字符串类的区别:nJAVA中提供了专门处理字符串的三个标准的类,分别是String类、Stri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级生物下册知识点(济南版)
- 中山大学排球教案
- 临时仓储设施转租协议
- 交通运输服务创新投标管理
- 互联网公司技术支持人员就业合同
- 人才招聘定金协议书
- 仓库租赁合同书范本制造业版
- 个人合伙协议书撰写指南
- 企业现金支票管理规范
- 5S管理办公室整洁的艺术
- 第二章 生涯发展理论PPT课件
- 环氧树脂罩光漆性能特点使用范围及施工方案
- 信息技术名师工作室工作方案暨三年规划
- 操作系统课件(6.1 云计算技术)
- 食管癌手术配合
- Brother-TC-S2A机器操作资料课件
- 错纳矿区Ⅰ号矿体铅锌矿800~1100td的露天开采最终开采境界设计说明
- 18慢性肾功能不全临床路径
- 断水层施工方案
- “7_16”大连保税区油库特大爆炸事故原因调查
- 硕士研究生入学登记表
评论
0/150
提交评论