您好,欢迎访问三七文档
第九章字符串2本章任务升级Java应用程序:•实现学员注册密码验证•打印学员成绩单•实现文件名和邮箱ID的合法性验证3•掌握String的基本用法–如何定义、初始化字符串–如何访问字符串长度–如何比较、连接、提取字符串•会使用带参数的方法•会使用StringBuffer类的方法对字符串进行操作本章目标4无处不在的字符串•生活中的字符串•使用String对象存储字符串•String类位于java.lang包中,具有丰富的方法–计算字符串的长度–连接字符串–比较字符串–提取字符串频繁使用的字符串“有志者事竟成”“离奥运会开幕还有380天”“教育改变生活”Strings=有志者事竟成;Strings=newString(有志者事竟成);5字符串长度2-1importjava.util.*;publicclassHello{publicstaticvoidmain(String[]args){System.out.print(请随机输入你想到的名字:);Scannerinput=newScanner(System.in);Stringname=input.next();System.out.println(这个名字的长度是:\+name.length()+\);}随机输入你心中想到的一个名字,然后输出它的字符串长度调用字符串的length()方法可以获得字符串的长度要想打印输出引号(”),必须在字符串中使用转义序列\”6字符串长度2-2•计算字符串长度字符串长度调用length()方法获得返回字符串中的字符数调用方法:字符串标识符.length();方法原型:publicintlength(){}7字符串比较4-1两个学员输入各自最喜欢的课程名称,判断是否一致//判断课程名称是否相同if(favCourse1.equals(favCourse2)){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}比较两个字符串是否相等8字符串比较4-2•equals()方法比较原理•输入的“Java”和“java”代表同一课程,如何解决?–使用equalsIgnoreCase()方法–结合toUpperCase()或toLowerCase()字符串1字符串2检查组成字符串内容的字符是否完全一致9字符串比较4-3使用equalsIgnoreCase()方法解决比较时忽略大小写形式if(favCourse1.equalsIgnoreCase(favCourse2)){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}10字符串比较4-4结合toUpperCase()方法解决Java使用toUpperCase()方法JAVAJava使用toLowerCase()方法javaif(favCourse1.toUpperCase().equals(favCourse2.toUpperCase())){System.out.println(最喜欢的课程相同);}else{System.out.println(最喜欢的课程不相同);}11小结1学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码选用哪个方法更合适?12字符串连接2-1令狐冲的Java成绩如表所示,输出他的成绩单学科成绩SQL80Java90HTML86.7publicstaticvoidmain(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;演示示例3:演示连接字符串输出成绩单数值型变量自动转换成String类型请计算总分13字符串连接2-2•方法1:使用“+”•方法2:使用String类的concat()方法你好,张三!Strings=newString(你好,);Stringname=newString(张三!);Stringsentence=s.concat(name);System.out.println(sentence);输出结果A.concat(B):B字符串将被连接到A字符串后面14字符串常用提取方法4-1使用作业提交系统提交Java作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现•合法的文件名应该以.java结尾•合法的邮箱名中至少要包含“@”和“.”,并检查“@”是否在“.”之前15字符串常用提取方法4-2•常用提取方法举例方法说明publicintindexOf(intch)搜索第一个出现的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一个出现的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)返回出现第一个匹配的位置,如果没有找到字符或字符串,则返回-1青春无悔0123位置16字符串常用提取方法4-3方法说明publicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intlength)提取beginindex和length之间的字串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本beginindex:字符串的位置从0开始算;length:字符串的位置长度17字符串常用提取方法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无效。);}作业提交系统18小结2如果要打印输出“小鱼儿”,应填入的代码是什么?Stringword=Hello,;word=word.trim();Strings=word.concat(小鱼儿!);intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index219带参数的方法就在身边publicStringconcat(Stringstr)publicintindexOf(Stringvalue)publicStringsubstring(intindex)…•方法实施时需要接收某个值进行处理返回值类型方法名参数20为什么要用带参数的方法•工作原理新鲜桃汁新鲜苹果汁新鲜梨汁输出三种果汁21如何使用带参数的方法•定义带参数的方法•调用带参数的方法publicclassZhazhi{//定义带参数的zhazhi方法publicStringzhazhi(Stringfruit){Stringjuice=fruit+汁;returnjuice;}}/*调用zhazhi方法*/ZhazhimyZhazhi=newZhazhi();StringmyFruit=苹果;StringmyJuice=myZhazhi.zhazhi(myFruit);System.out.println(myJuice);参数列表:(数据类型参数1,数据类型参数2…)调用方法,传递的参数要与参数列表一一对应22带参数的方法应用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]);}}重复代码:实现相同的功能“根据不同的课程代号输出相应课程信息”使用方法可以增加代码重用23带参数的方法应用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方法,并传入相应的课程代号和课程信息数组24小结3实现MP3播放器:1)播放录入的音乐名称2)外放正在播放的歌曲25StringBuffer•StringBuffer:String增强版•StringBuffer声明•StringBuffer的使用StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer(aaa);创建空字符串创建一个变量存储字符串aaasb.toString();//转化为String类型sb.append(**);//追加字符串26StringBuffer的用武之地//声明课程信息字符串StringBuffercourse=newStringBuffer();System.out.println(请输入课程信息:);Scannersc=newScanner(System.in);//循环从键盘接收字符串Stringinput;while(!(input=sc.next()).equals(#)){course.append(input);course.append(\n);}System.out.println(课程信息是:+course);定义StringBuffer的实例,存储课程字符串循环追加字符,使用StringBuffer,效率高!从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息27Java语言特点总结•简单易学•丰富且功能强大的类库(JavaDoc——我们的法宝
本文标题:字符串
链接地址:https://www.777doc.com/doc-3131925 .html