您好,欢迎访问三七文档
第十五章字符串回顾与作业点评•如何调用带参方法?应注意什么?•请说出以下代码的执行过程publicclassTestScore{//测试类publicstaticvoidmain(String[]args){Studentstu=newStudent();Scoresc=newScore();floatavg=0;stu.java=80;stu.database=95;stu.html=77;avg=sc.getAvg(stu);System.out.println(该学生的平均分为:+avg);}}publicclassScore{//成绩类//计算平均分,Student为学生类publicfloatgetAvg(Studentstu){floatavg=0;avg=(stu.java+stu.database+stu.html)/3;returnavg;}}提问2/39预习检查•如何定义一个字符串?•使用什么方法可以获得字符串的长度?•如何定义一个StringBuffer类的对象?提问3/39本章任务•实现注册信息的有效性验证•判断字符出现次数•格式化显示商品金额4/39本章目标•掌握String类的基本用法•会使用==和equals()比较字符串•会使用StringBuffer类方法对字符串进行操作5/39无处不在的字符串•生活中的字符串•使用String对象存储字符串•String类位于java.lang包中,具有丰富的方法–计算字符串的长度、比较字符串、连接字符串、提取字符串频繁使用的字符串“欢迎进入”“HelloWorld”“教育改变生活”Strings=HelloWorld;Strings=newString(HelloWorld);Strings=newString();6/39字符串长度3-1•String类提供了length()方法,确定字符串的长度注册新用户,要求密码长度不能小于6位问题分析7/39publicclassRegister{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Stringuname,pwd;System.out.print(请输入用户名:);uname=input.next();System.out.print(请输入密码:);pwd=input.next();if(pwd.length()=6){System.out.print(注册成功!);}else{System.out.print(密码长度不能小于6位!);}}}字符串长度3-2判断密码长度示例演示示例1:字符串长度8/39字符串长度3-3•计算字符串长度“HelloWorld”字符串长度调用length()方法获得返回字符串中的字符数调用方法:字符串标识符.length();方法原型:publicintlength(){}9/39语法字符串比较5-1•String类提供了equals()方法,比较存储在两个字符串对象的内容是否一致注册成功后,实现登录验证。用户名为“TOM”,密码为“1234567”问题分析10/39publicclassLogin{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);Stringuname,pwd;System.out.print(请输入用户名:);uname=input.next();System.out.print(请输入密码:);pwd=input.next();if(uname.equals(TOM)&&pwd.equals(1234567)){System.out.print(登录成功!);}else{System.out.print(用户名或密码不匹配,登录失败!);}}}字符串比较5-2比较用户名和密码是否正确示例演示示例2:字符串比较11/39•equals()方法比较原理•“==”和equals()有什么区别呢?字符串比较5-3字符串1字符串2equals():检查组成字符串内容的字符是否完全一致str1str2BDQN0x2a486c0x2a486cBDQNstr1==str2?true0x2aac83str1==str2?false==:判断两个字符串在内存中的首地址,即判断是否是同一个字符串对象12/39问题字符串比较5-4•使用equalsIgnoreCase()方法•使用toLowerCase()方法•使用toUpperCase()方法登录时不考虑用户名的大小写问题,实现登录问题分析13/39publicclassLogin{publicstaticvoidmain(String[]args){//…if(){System.out.print(登录成功!);}else{System.out.print(用户名或密码不匹配,登录失败!);}}}字符串比较5-5示例演示示例3:忽略大小写的字符串比较14/39uname.toLowerCase().equals((Tom).toLowerCase())&&pwd.toUpperCase().equals((1234567).toUpperCase())uname.equals(Tom)&&pwd.equals(1234567)uname.equalsIgnoreCase(Tom)&&pwd.equalsIgnoreCase(1234567)学员操作——实现会员注册2-1•训练要点–String类的使用–带参方法的定义和使用•需求说明–实现会员注册,要求•用户名长度不小于3•密码长度不小于6•注册时两次输入密码必须相同指导讲解需求说明15/39学员操作——实现会员注册2-1•实现思路1.创建类Register2.创建验证方法3.调用方法测试程序,利用do-while实现注册不成功循环注册指导完成时间:20分钟publicbooleanverify(Stringname,Stringpwd1,Stringpwd2){}16/39共性问题集中讲解•常见问题及解决办法•代码规范问题•调试技巧共性问题集中讲解17/39学科成绩SQL80Java90HTML86.7字符串连接2-1某学生的成绩如表所示,输出他的成绩单问题演示示例4:字符串连接18/39intsqlScore=80;//sql成绩intjavaScore=90;//java成绩doublehtmlScore=86.7;//html成绩StringscoreSheet=SQL:+sqlScore+Java:+javaScore+HTML:+htmlScore;字符串连接2-2•方法1:使用“+”•方法2:使用String类的concat()方法你好,张三!Strings=newString(你好,);Stringname=newString(张三!);Stringsentence=s.concat(name);System.out.println(sentence);输出结果A.concat(B):B字符串将被连接到A字符串后面数值型变量自动转换成String类型19/39字符串常用提取方法4-1•合法的文件名应该以.java结尾•合法的邮箱名中至少要包含“@”和“.”,并检查“@”是否在“.”之前判断.java文件名是否正确,判断邮箱格式是否正确问题分析20/39方法说明publicintindexOf(intch)搜索第一个出现的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一个出现的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)字符串常用提取方法4-2•常用提取方法青春无悔0123位置返回出现第一个匹配的位置如果没有找到字符或字符串,则返回-121/39方法说明publicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之间的字符串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本字符串常用提取方法4-3beginindex:字符串的位置从0开始算;endindex:字符串的位置从1开始算常用提取方法22/39字符串常用提取方法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:字符串提取23/39小结Stringword=Hello,;word=word.trim();Strings=word.concat(小鱼儿!);intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index2如果要打印输出“小鱼儿”,应填入的代码是什么?代码阅读24/39字符串拆分2-1•String类提供了split()方法,将一个字符串分割为子字符串,结果作为字符串数组返回有一段歌词,每句都以空格“”结尾,请将歌词每句按行输出问题分析25/39publicclassLyric{publicstaticvoidmain(String[]args){Stringwords=长亭外古道边芳草碧连天晚风扶柳笛声残夕阳山外山;String[]printword=newString[100];System.out.println(***原歌词格式***\n+words);System.out.println(\n***拆分后歌词格式***);printword=words.split();for(inti=0;iprintword.length;i++){System.out.println(printword[i]);}}}字符串拆分2-2拆分字符串,返回值为字符串数组遍历输出字符串示例演示示例6:字符串拆分26/39学员操作——实现会员注册升级•需求说明–验证身份证号、手机号、座机号格式是否正确练习完成时间:25分钟判断座机的电话号码时,按照字符“-”符号进行拆分,然后判断长度提示27/39学员操作——判断字符出现次数•需求说明–输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数练习完成时间:20分钟编写统计字符出现次数的方法:publicintcounter(Stringinputs,Stringword)使用substring()将字符串的每个字符存入数组比较数组中每个字符是否与要求的字符相等,并计数提示28/39共性问题集中讲解•常见问题及解决办法•代码规范问题•调试技巧共性问题集中讲解29/39StringBuffer类4-1•StringBuffer:String增强版–对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率•StringBuffer声明•StringBuffer的使用StringBuffersb=newStr
本文标题:15第十五章
链接地址:https://www.777doc.com/doc-3166240 .html