您好,欢迎访问三七文档
字符串2回顾•阅读下面代码,哪个有错误?说明理由•填代码:逆序输出数组中的元素double[]a=newdouble[];double[]a=newdouble[5]{1,2,3,4,5,};doublea={1,2,3,4,5};int[]a=newint[]{1,2,3,4,5};for(_______________;________;____){System.out.println(a[i]);}inti=a.length-1i=0i--×××3本章任务升级Java应用程序“HelloWorld”:•实现学员注册密码验证•打印学员成绩单•实现文件名和邮箱ID的合法性验证4•掌握String的基本用法–如何定义、初始化字符串–如何访问字符串长度–如何比较、连接、提取字符串•会使用带参数的方法•会使用StringBuffer类的方法对字符串进行操作本章目标5无处不在的字符串•生活中的字符串•使用String对象存储字符串•String类位于java.lang包中,具有丰富的方法–计算字符串的长度–连接字符串–比较字符串–提取字符串频繁使用的字符串“有志者事竟成”“离奥运会开幕还有380天”“教育改变生活”Strings=有志者事竟成;Strings=newString(有志者事竟成);6字符串长度2-1packages1java.sg.chap9;importjava.util.*;publicclassHelloWorld1{publicstaticvoidmain(String[]args){System.out.print(请随机输入你想到的名字:);Scannerinput=newScanner(System.in);Stringname=input.next();System.out.println(这个名字的长度是:\+name.length()+\);}随机输入你心中想到的一个名字,然后输出它的字符串长度调用字符串的length()方法可以获得字符串的长度要想打印输出引号(),必须在字符串中使用转义序列\7字符串长度2-2•计算字符串长度字符串长度调用length()方法获得返回字符串中的字符数调用方法:字符串标识符.length();方法原型:publicintlength(){}8字符串比较4-1两个学员输入各自最喜欢的课程名称,判断是否一致//判断课程名称是否相同if(favCourse1.equals(favCourse2)){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}比较两个字符串是否相等9字符串比较4-2•equals()方法比较原理•输入的“Java”和“java”代表同一课程,如何解决?–使用equalsIgnoreCase()方法–结合toUpperCase()或toLowerCase()字符串1字符串2检查组成字符串内容的字符是否完全一致10字符串比较4-3使用equalsIgnoreCase()方法解决比较时忽略大小写形式if(favCourse1.equalsIgnoreCase(favCourse2)){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}11字符串比较4-4结合toUpperCase()方法解决Java使用toUpperCase()方法JAVAJava使用toLowerCase()方法javaif(favCourse1.toUpperCase().equals(favCourse2.toUpperCase())){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}12小结1学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码选用哪个方法更合适?13字符串连接2-1小明的三门课成绩如表所示,输出他的成绩单学科成绩SQL80Java90HTML86.7publicstaticvoidmain(String[]args){intsqlScore=80;//sql成绩intjavaScore=90;//java成绩doublehtmlScore=86.7;//html成绩//创建成绩单StringscoreSheet=SQL:+sqlScore+\tJava:+javaScore+\tHTML:+htmlScore;//打印成绩单System.out.println(*****小明成绩单*****);System.out.println(scoreSheet);}“+”连接字符串数值型变量自动转换成String类型14字符串连接2-2•方法1:使用“+”•方法2:使用String类的concat()方法你好,张三!Strings=newString(你好,);Stringname=newString(张三!);Stringsentence=s.concat(name);System.out.println(sentence);输出结果A.concat(B):B字符串将被连接到A字符串后面15字符串常用提取方法4-1使用作业提交系统提交Java作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现合法的文件名应该以.java结尾合法的邮箱名中至少要包含“@”和“.”,并检查“@”是否在“.”之前16字符串常用提取方法4-2•常用提取方法举例方法说明publicintindexOf(intch)搜索第一个出现的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一个出现的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)返回出现第一个匹配的位置,如果没有找到字符或字符串,则返回-1青春无悔0123位置演示示例4:演示常用字符串提取方法17字符串常用提取方法4-3方法说明publicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之间的字符串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本beginindex:字符串的位置从0开始算;endindex:字符串的位置从1开始算18字符串常用提取方法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:演示作业提交系统作业提交系统19小结2如果要打印输出“小鱼儿”,应填入的代码是什么?Stringword=Hello,;word=word.trim();Strings=word.concat(小鱼儿!);intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index220带参数的方法就在身边publicStringconcat(Stringstr)publicintindexOf(Stringvalue)publicStringsubstring(intindex)…•方法实施时需要接收某个值进行处理返回值类型方法名参数21为什么要用带参数的方法•工作原理新鲜桃汁新鲜苹果汁新鲜梨汁输出三种果汁22如何使用带参数的方法•定义带参数的方法•调用带参数的方法publicclassZhazhi{//定义带参数的zhazhi方法publicStringzhazhi(Stringfruit){Stringjuice=fruit+汁;returnjuice;}}/*调用zhazhi方法*/ZhazhimyZhazhi=newZhazhi();StringmyFruit=苹果;StringmyJuice=myZhazhi.zhazhi(myFruit);System.out.println(myJuice);参数列表:(数据类型参数1,数据类型参数2…)调用方法,传递的参数要与参数列表一一对应演示示例6:演示运行效果23带参数的方法应用2-1输入学期代码,输出该学期的课程信息if(courseCode.equalsIgnoreCase(s1)){System.out.println(第一学期的课程是:);for(inti=0;is1Course.length;i++){System.out.println(s1Course[i]);}}elseif(courseCode.equalsIgnoreCase(s2)){System.out.println(第二学期的课程是:);for(inti=0;is2Course.length;i++){System.out.println(s2Course[i]);}}elseif(courseCode.equalsIgnoreCase(y2)){System.out.println(第三学期的课程是:);for(inti=0;iy2Course.length;i++){System.out.println(y2Course[i]);}}重复代码:实现相同的功能“根据不同的课程代号输出相应课程信息”使用方法可以增加代码重用24带参数的方法应用2-2更高效的代码publicclassSchool{publicvoidcourseInfo(intcourseCode,String[]course){System.out.println(courseCode+的课程是:);for(inti=0;icourse.length;i++){System.out.println(course[i]);}}}定义School类的带参方法:输出课程信息Shoolschool=newSchool();school.courseInfo(courseCode,s1);调用courseInfo方法,并传入相应的课程代号和课程信息数组演示示例7:使用断点跟踪演示带参数的方法调用过程25小结3实现MP3播放器:1)输入要播放的音乐名称2)外放正在播放的歌曲26StringBuffer•StringBuffer:String增强版为什么要使用StringBuffer:1、常量字符串一旦被创建,就不可更改2、当字符串被频繁更改时,String类型效率低下•StringBuffer声明•StringBuffer的使用StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer(aaa);创建空字符串创建一个变量存储字符串aaasb.toString();//转化为String类型sb.append(**);//追加字符串27StringBuffer的用武之地//声明课程信息字符串StringBuffercourse=newStringBuffer();Syst
本文标题:09_字符串
链接地址:https://www.777doc.com/doc-3542888 .html