ACCP5[1].0Java编程逻辑第9章.ppt_第1页
ACCP5[1].0Java编程逻辑第9章.ppt_第2页
ACCP5[1].0Java编程逻辑第9章.ppt_第3页
ACCP5[1].0Java编程逻辑第9章.ppt_第4页
ACCP5[1].0Java编程逻辑第9章.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第九章,字符串,回顾,阅读下面代码,哪个有错误?说明理由 填代码:逆序输出数组中的元素,double a = new double ;,double a = new double51,2,3,4,5,;,double a = 1,2,3,4,5;,int a = new int 1,2,3,4,5; for (_; _; _ ) System.out.println(ai); ,int i = a.length -1,i = 0,i- -,预习检查,如何定义一个字符串? 使用什么方法可以获得字符串的长度? 如何定义一个StringBuffer类的对象?,本章任务,升级Java应用程序“HelloAccp”: 实现学员注册密码验证 打印学员成绩单 实现文件名和邮箱ID的合法性验证,掌握String的基本用法 如何定义、初始化字符串 如何访问字符串长度 如何比较、连接、提取字符串 会使用带参数的方法 会使用StringBuffer类的方法对字符串进行操作,本章目标,无处不在的字符串,生活中的字符串 使用String对象存储字符串 String类位于java.lang包中,具有丰富的方法 计算字符串的长度 连接字符串 比较字符串 提取字符串,频繁使用的字符串,“有志者事竟成 ”,“离奥运会开幕还有380天”,“教育改变生活”,String s = “有志者事竟成“;,String s = new String(“有志者事竟成“);,字符串长度2-1,package s1java.sg.chap9; import java.util.*; public class HelloAccp1 public static void main(String args) System.out.print(“请随机输入你想到的名字: “); Scanner input = new Scanner(System.in); String name = input.next(); System.out.println(“这个名字的长度是: “ “ + name.length()+ “ “); ,随机输入你心中想到的一个名字,然后输出它的字符串长度,调用字符串的length()方法可以获得字符串的长度,要想打印输出引号(”),必须在字符串中使用转义序列”,演示示例1:演示计算字符串的长度,字符串长度2-2,计算字符串长度,字符串,长度,调用length() 方法获得,返回字符串中的字符数,调用方法:,字符串标识符.length();,方法原型:,public int length() ,字符串比较4-1,两个学员输入各自最喜欢的课程名称,判断是否一致,/判断课程名称是否相同 if(favCourse1.equals(favCourse2) System.out.println(“最喜欢的课程相同“); else System.out.println(“最喜欢的课程不相同“); ,比较两个字符串是否相等,演示示例2:演示比较字符串,字符串比较4-2,equals()方法比较原理 输入的“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( ) 方法,JAVA,Java,使用 toLowerCase( ) 方法,java,if(favCourse1.toUpperCase().equals(favCourse2.toUpperCase() System.out.println(“最喜欢的课程相同“); else System.out.println(“最喜欢的课程不相同“); ,小结1,学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码,选用哪个方法更合适?,参考代码,字符串连接2-1,令狐冲的Java成绩如表所示,输出他的成绩单,public static void main(String args) int sqlScore = 80; /sql成绩 int javaScore = 90; /java成绩 double htmlScore = 86.7; /html成绩 /创建成绩单 String scoreSheet = “SQL:“ + sqlScore + “ Java:“ + javaScore + “ HTML:“ + htmlScore; /打印成绩单 System.out.println(“*令狐冲成绩单*“); System.out.println(scoreSheet); ,“+”连接字符串,String scoreSheet = “SQL:t“ + sqlScore + “nJava:t“ + javaScore + “nHTML:t“ + htmlScore;,演示示例3:演示连接字符串输出成绩单,数值型变量自动转换成String类型,字符串连接2-2,方法1:使用“+” 方法2:使用String类的concat()方法,你好,张三!,String s = new String(“你好,“); String name = new String(“张三!“); String sentence = s.concat(name); System.out.println(sentence);,输出结果,A.concat(B): B字符串将被连接到A字符串后面,字符串常用提取方法4-1,使用作业提交系统提交Java作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现,合法的文件名应该以.java结尾 合法的邮箱名中至少要包含“”和“.”, 并检查“”是否在“.”之前,字符串常用提取方法4-2,常用提取方法举例,返回出现第一个匹配的位置, 如果没有找到字符或字符串,则返回-1,0 1 2 3,位置,演示示例4:演示常用字符串提取方法,字符串常用提取方法4-3,beginindex: 字符串的位置从0开始算;endindex: 字符串的位置从1开始算,字符串常用提取方法4-4,/检查Java文件名 int index = fileName.lastIndexOf(“.“); if(index!=-1 ,/检查你的邮箱格式 if (email.indexOf() !=- 1 ,完整代码演示,演示示例5:演示作业提交系统,作业提交系统,小结2,如果要打印输出“小鱼儿”,应填入的代码是什么?,String word = “Hello, “; word = word.trim(); String s = word.concat(“小鱼儿!“); int index1 = s.indexOf(,); int index2 = s.indexOf(!); System.out.println(s.substring(_, _);,index1+1,index2,带参数的方法就在身边,public String concat (String str) public int indexOf (String value) public String substring (int index) 方法实施时需要接收某个值进行处理,返回值类型,方法名,参数,为什么要用带参数的方法,工作原理,新鲜桃汁,新鲜苹果汁,新鲜梨汁,输出三种果汁,如何使用带参数的方法,定义带参数的方法 调用带参数的方法,public class Zhazhi /定义带参数的zhazhi方法 public String zhazhi ( String fruit ) String juice = fruit + “汁“; return juice; ,/*调用zhazhi方法*/ Zhazhi myZhazhi = new Zhazhi(); String myFruit = “苹果“; String myJuice = myZhazhi.zhazhi(myFruit); System.out.println(myJuice);,参数列表: (数据类型 参数1,数据类型 参数2),调用方法,传递的参数要与参数列表一一对应,完整代码演示,完整代码演示,演示示例6:演示运行效果,带参数的方法应用2-1,输入学期代码,输出该学期的课程信息,if (courseCode.equalsIgnoreCase(“s1“) System.out.println(“第一学期的课程是:“); for(int i = 0; i s1Course.length; i+) System.out.println(s1Coursei); else if (courseCode.equalsIgnoreCase(“s2“) System.out.println(“第二学期的课程是:“); for(int i = 0; i s2Course.length; i+) System.out.println(s2Coursei); else if (courseCode.equalsIgnoreCase(“y2“) System.out.println(“第三学期的课程是:“); for(int i = 0; i y2Course.length; i+) System.out.println(y2Coursei); ,重复代码: 实现相同的功能“根据不同的课程代号输出相应课程信息”,使用方法可以增加代码重用,完整代码演示,带参数的方法应用2-2,更高效的代码,public class AccpSchool public void courseInfo(int courseCode, String course) System.out.println(courseCode + “的课程是:“); for(int i = 0; i course.length; i+) System.out.println(coursei); ,定义AccpSchool类的带参方法:输出课程信息,AccpShool school = new AccpSchool(); school.courseInfo(courseCode, s1);,调用courseInfo方法,并传入相应的课程代号和课程信息数组,完整代码演示,演示示例7:使用断点跟踪演示带参数的方法调用过程,小结3,实现MP3播放器:1)播放录入的音乐名称 2)外放正在播放的歌曲,完整代码,StringBuffer,StringBuffer:String增强版 StringBuffer声明 StringBuffer的使用,StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer(“aaa“);,创建空字符串,创建一个变量存储字符串aaa,sb.toString(); /转化为String类型,sb.append(“*“); /追加字符串,StringBuffer的用武之地,/声明课程信息字符串 StringBuffer course = new StringBuffer(); System.out.println(“请输入S1课程信息: “); Scanner sc = new Scanner(System.in); /循环从键盘接收字符串 String input; while(!(input = sc.next().equals(“#“) course.append(input); course.append(“n“); System.out.println(“s1的课程信息是:“ + course);,定义StringBuffer的实例,存储课程字符串,循环追加字符,使用StringBuffer,效率高!,从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息,完整代码演示,Java语言特点总结,简单易学 丰富且功能强大的类库(Java Doc我们的法宝) java.lang.

温馨提示

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

评论

0/150

提交评论