您好,欢迎访问三七文档
字符串回顾与作业点评基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?画出在如下“计算学生平均分”代码中,程序执行时的内存分配过程图publicclassTestScore{publicstaticvoidmain(String[]args){Studentsstu=newStudents();Scoresc=newScore();floatavg=0;stu.java=80;stu.database=95;stu.html=77;avg=sc.getAvg(stu);System.out.println(该学生的平均分为:+avg);}}publicclassScore{//计算平均分,对象作为参数publicfloatgetAvg(Studentsstu){floatavg=0;avg=(stu.java+stu.database+stu.html)/3;returnavg;}}main:stu0x2a486c0.00.00.00main:avg80957784.0getAvg:stu0x2a486c0getAvg:avg84.0省略内存分配预习检查如何定义一个字符串?使用什么方法可以获得字符串的长度?如何定义一个StringBuffer类的对象?本章任务实现注册信息的有效性验证格式化显示商品金额本章目标掌握String的基本用法会使用==和equals()比较字符串会使用StringBuffer类方法对字符串进行操作无处不在的字符串生活中的字符串使用String对象存储字符串String类位于java.lang包中,具有丰富的方法计算字符串的长度、比较字符串、连接字符串、提取字符串频繁使用的字符串“欢迎进入”“HelloWorld”“Oracle改变生活”Strings=HelloWorld;Strings=newString(HelloWorld);Strings=newString();String类提供了length()方法,确定字符串的长度字符串长度3-11、注册新用户,要求密码长度不能小于6位publicclassRegister{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:字符串长度判断密码长度字符串长度3-3计算字符串长度字符串长度调用length()方法获得返回字符串中的字符数调用方法:字符串标识符.length();方法原型:publicintlength(){}String类提供了equals()方法,比较存储在两个字符串对象的内容是否一致字符串比较5-12、注册成功后,实现登录验证。用户名为“TOM”,密码为“1234567”publicclassLogin{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:字符串比较比较用户名和密码是否正确字符串比较5-3equals()方法比较原理“==”和equals()有什么区别呢?字符串1字符串2equals():检查组成字符串内容的字符是否完全一致str1str2BDQN0x2a486c0x2a486cBDQNstr1==str2?true0x2aac83str1==str2?false==:判断两个字符串在内存中的首地址,即判断是否是同一个字符串对象使用equalsIgnoreCase()方法使用toLowerCase()方法使用toUpperCase()方法字符串比较5-43、登录时不考虑用户名的大小写问题,实现登录publicclassLogin{publicstaticvoidmain(String[]args){…if(uname.equals(Jbit)&&pwd.equals(Bdqn)){System.out.print(登录成功!);}else{System.out.print(用户名或密码不匹配,登录失败!);}}}字符串比较5-5演示示例3:字符串比较uname.equalsIgnoreCase(Jbit)&&pwd.equalsIgnoreCase(Bdqn)uname.toLowerCase().equals((Jbit).toLowerCase())&&pwd.toUpperCase().equals((Bdqn).toUpperCase())指导——实现登录训练要点:String类的使用。带参方法的定义和使用需求说明:实现会员注册,要求用户名长度不小于3,密码长度不小于6,注册时两次输入密码必须相同实现思路:1、创建类Register2、创建验证方法verify()3、调用方法测试程序难点指导:创建验证方法verify()讲解需求说明完成时间:20分钟字符串连接2-1学科成绩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);}演示示例4:字符串长度4、某学生的成绩如表所示,输出他的成绩单“+”连接字符串数值型变量自动转换成String类型字符串连接2-2方法1:使用“+”方法2:使用String类的concat()方法你好,张三!Strings=newString(你好,);Stringname=newString(张三!);Stringsentence=s.concat(name);System.out.println(sentence);输出结果A.concat(B):B字符串将被连接到A字符串后面合法的文件名应该以.java结尾合法的邮箱名中至少要包含“@”和“.”,并检查“@”是否在“.”之前字符串常用提取方法4-15、判断.java文件名是否正确,判断邮箱格式是否正确字符串常用提取方法4-2常用提取方法举例青春无悔0123位置方法说明publicintindexOf(intch)搜索第一个出现的字符ch(或字符串value)publicintindexOf(Stringvalue)publicintlastIndexOf(intch)搜索最后一个出现的字符ch(或字符串value)publicintlastIndexOf(Stringvalue)返回出现第一个匹配的位置,如果没有找到字符或字符串,则返回-1字符串常用提取方法4-3beginindex:字符串的位置从0开始算;endindex:字符串的位置从1开始算方法说明publicStringsubstring(intindex)提取从位置索引开始的字符串部分publicStringsubstring(intbeginindex,intendindex)提取beginindex和endindex之间的字符串部分publicStringtrim()返回一个前后不含任何空格的调用字符串的副本字符串常用提取方法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:字符串提取检查文件和邮箱格式小结Stringword=Hello,;word=word.trim();Strings=word.concat(小鱼儿!);intindex1=s.indexOf(',');intindex2=s.indexOf('!');System.out.println(s.substring(______,_______));index1+1index2如果要打印输出“小鱼儿”,应填入的代码是什么?String类提供了split()方法,将一个字符串分割为子字符串,结果作为字符串数组返回字符串拆分2-16、有一段歌词,每句都以空格“”结尾,请将歌词每句按行输出publicclassLyric{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:字符串拆分拆分字符串,返回值为字符串数组遍历输出字符串练习——实现会员注册升级需求说明:验证身份证号、手机号、做记号格式是否正确完成时间:25分钟练习——判断字符出现次数需求说明:输入一个字符串,输入一个字符,判断该字符在该字符串中出现的次数完成时间:20分钟StringBuffer类4-1StringBuffer:String增强版StringBuffer声明StringBuffer的使用StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer(aaa);创建空StringBuffer对象创建一个变量存储字符串aaasb.toString();//转化为String类型sb.append(**);//追加字符串publicclasssbAppend{publicstaticvoidmain(String[]args){StringBuffersb=newStringBuffer(青春无悔);intnum=110;StringBuffersb1=sb.append(我心永恒);System.out.println(sb1);StringBuffersb2=sb1.append('啊');System.out.println(sb2);StringBuffers
本文标题:TP13字符串
链接地址:https://www.777doc.com/doc-3368209 .html