第七章、字符串_第1页
第七章、字符串_第2页
第七章、字符串_第3页
第七章、字符串_第4页
第七章、字符串_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章

-----字符串学习目标掌握String的基本用法如何定义、初始化字符串如何访问字符串长度如何比较、连接、提取字符串会使用StringBuffer类的方法对字符串进行操作/无处不在的字符串生活中的字符串使用String对象存储字符串String类位于java.lang包中,具有丰富的方法计算字符串的长度连接字符串比较字符串提取字符串/频繁使用的字符串“有志者事竟成”“离奥运会开幕还有380天”“教育改变生活”Strings="有志者事竟成";Strings=newString("有志者事竟成");字符串长度2-1/packages1java.sg.chap9;importjava.util.*;publicclassHello1{publicstaticvoidmain(String[]args){System.out.print("请随机输入你想到的名字:");Scannerinput=newScanner(System.in);Stringname=input.next();System.out.println("这个名字的长度是:\"

"+name.length()+"\"

");}随机输入你心中想到的一个名字,然后输出它的字符串长度调用字符串的length()方法可以获得字符串的长度要想打印输出引号(”),必须在字符串中使用转义序列\”字符串长度2-2计算字符串长度/字符串长度调用length()方法获得返回字符串中的字符数调用方法:字符串标识符.length();方法原型:publicintlength(){}字符串比较4-1

两个学员输入各自最喜欢的课程名称,判断是否一致///判断课程名称是否相同if(favCourse1.equals(favCourse2)){System.out.println("最喜欢的课程相同");}else{System.out.println("最喜欢的课程不相同");}比较两个字符串是否相等演示示例2:演示比较字符串字符串比较4-2equals()方法比较原理输入的“Java”和“java”代表同一课程,如何解决?使用equalsIgnoreCase()方法结合toUpperCase()或toLowerCase()/字符串1字符串2检查组成字符串内容的字符是否完全一致字符串比较4-3使用equalsIgnoreCase()方法解决/比较时忽略大小写形式if(favCourse1.equalsIgnoreCase(favCourse2)){System.out.println("最喜欢的课程相同");}else{System.out.println("最喜欢的课程不相同");}字符串比较4-4结合toUpperCase()方法解决/Java使用toUpperCase(

)

方法JAVAJava使用toLowerCase(

)

方法javaif(favCourse1.toUpperCase().equals(favCourse2.toUpperCase())){System.out.println("最喜欢的课程相同");}else{System.out.println("最喜欢的课程不相同");}小结1学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码/选用哪个方法更合适?字符串连接3-1

小李的Java成绩如表所示,输出他的成绩单学科成绩SQL80Java90HTML86.7/publicstaticvoidmain(String[]args){intsqlScore=80;//sql成绩intjavaScore=90;//java成绩doublehtmlScore=86.7;//html成绩//创建成绩单StringscoreSheet="SQL:"+sqlScore+"Java:"+javaScore+"HTML:"+htmlScore;//打印成绩单System.out.println("*****令狐冲成绩单*****");System.out.println(scoreSheet);

}“+”连接字符串StringscoreSheet="SQL:\t"+sqlScore+"\nJava:\t"+javaScore+"\nHTML:\t"+htmlScore;数值型变量自动转换成String类型字符串连接3-2方法1:使用“+”方法2:使用String类的concat()方法/你好,张三!Strings=newString("你好,");Stringname=newString("张三!");Stringsentence=s.concat(name);System.out.println(sentence);输出结果A.concat(B):B字符串将被连接到A字符串后面字符串的分割字符串的分割,就是控制分割后,形成多个字符串

String[]ses=s.split(str);如:/Stringstr=newString("英语,数学,语文");String[]courses=str.split(",");/提取字符串中的单个字符在这里我们可以使用charAt();Stringa=“nihao”;charb=a.charAt(3);System.out.print(b);a注意:charAt()方法返回的是char类型的值,里边的参数是要求提取的位置字符串常用提取方法4-1

使用作业提交系统提交Java作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现/合法的文件名应该以.java结尾合法的邮箱名中至少要包含“@”和“.”,并检查“@”是否在“.”之前字符串常用提取方法4-2常用提取方法举例方法说明publicintindexOf(intch)搜索第一个出现的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一个出现的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)/返回出现第一个匹配的位置,如果没有找到字符或字符串,则返回-1青春无悔0123

位置演示示例4:演示常用字符串提取方法

字符串常用提取方法4-3方法说明publicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之间的字符串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本/beginindex:字符串的位置从0开始算;endindex:字符串的位置从1开始算字符串常用提取方法4-4///检查Java文件名

intindex=fileName.lastIndexOf(".");

if(index!=-1&&index!=0&&fileName.substring(index+1,fileName.length()).equals("java")){fileCorrect=true;}else{System.out.println("文件名无效。");}//检查你的邮箱格式if

(email.indexOf('@')

!=-

1&&email.indexOf('.')

>

email.indexOf('@')){

emailCorrect=true;}else{

System.out.println("Email无效。");}演示示例5:演示作业提交系统

作业提交系统小结2

如果要打印输出“小鱼儿”,应填入的代码是什么?/Stringword="Hello,";word=word.trim();Strings=word.concat("小鱼儿!");intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index2StringBufferStringBuffer:String增强版,可以使用append方法进行字符串的追加,并且只是基于一个对象的操作,StringBuffer对象的存储容量只要超过初始容量,都会在使用的过程中自动的增加。StringBuffer声明StringBuffer的使用/StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer("aaa");创建空字符串创建一个变量存储字符串aaasb.toString();//转化为String类型sb.append("**");//追加字符串StringBuffer的用武之地

//声明课程信息字符串

StringBuffercourse=newStringBuffer();System.out.println("请输入S1课程信息:");Scannersc=newScanner(System.in);

//循环从键盘接收字符串

Stringinput;while(!(input=sc.next()).equals("#")){

course.append(input);

course.append("\n");}System.out.println("s1的课程信息是:"+course);定义StringBuffer的实例,存储课程字符串循环追加字符,使用StringBuffer,效率高!从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息

String与StringBufferString:为不可变对象,一旦被创建,就不能修改它的值。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。耗内存,效率低其声明方式:

Strings=“hello”;或Strings=newString(“hello”);StringBuffer:是一个可变对象,当对他进行修改的时候不会重新建立对象只能通过构造函数来建立,即声明方式只能是:

StringBuffersb=newStringBuffer(“hello”);不能通过赋值符号对他进行赋值。如sb=“welcometohere!”;是错误的。向StringBuffer中追加字符串使用它的append方法:sb.append();StringBuilder类J2se5.0提供了java.lang.StringBuilder类,一个可变的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步。该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer要快。在StringBuilder上的主要操作是append和insert方法,重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串生成器中。append方法始终将这些字符添加到生成器的末端;而insert方法则在指定的点添加字符。常用方法:查阅和使用API文档/三个表示字符串类的区别:JAVA中提供了专门处理字符串的三个标准的类,分别是String类、StringBuffer类、StringBuilder类。那么它们三者之间有什么区别呢?String类表示的是不可改变的字符串,只有通过不断创建新的对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论