




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东理工职业学院单元教学过程设计首页课程所属院(部):软件工程学院2019--2020学年第一学期课程名称Java语言编程基础任课教师单元标题任务6学生成绩的查询上课地点学时4授课班级授课时间第周第周第周第周第周第周星期星期星期星期星期星期第节第节第节第节第节第节月日月日月日月日月日月日教学目标能力目标知识目标1.能掌握字符串类型的使用方法1.字符串常量;2.String和StringBuffer定义方式及基本教学任务完成学生成绩查询功能和成绩录入情况显示功能教学重、难点重点:字符串类型的使用方法难点:字符串类型的使用方法教学材料或用具教材、教案、课件、课程标准、案例素材及Eclipse开发软件课后任务熟悉字符串的各种使用方法山东理工职业学院单元教学过程设计步骤及时间教学内容教师活动学生活动5分钟5分钟60分钟90分钟20分钟【组织教学】1、检查学生出勤,作好学生考勤记录。2、课堂提问,了解学生掌握所学知识情况。3、强调课堂纪律,加强互动,活跃课堂气氛。【课题导入】在任务四的基础上,完成学生成绩查询功能和成绩录入情况显示功能。【讲授新课】6.4.1java中String的常用方法表6-1String中的常用方法序号方法声明方法描述1charcharAt(intindex)返回指定索引处的char值。2intcompareTo(Objecto)把这个字符串和另一个对象比较。3Stringconcat(Stringstr)将指定字符串连接到此字符串的结尾。4booleancontains(CharSequencecs)判断此字符串是否包含指定字符序列5booleanequals(ObjectanObject)将此字符串与指定的对象比较。6booleanequalsIgnoreCase(StringanotherString)将此String与另一个String比较,不考虑大小写。7intindexOf(intch)返回指定字符在此字符串中第一次出现处的索引。8intindexOf(intch,intfromIndex)返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。9intindexOf(Stringstr)返回指定子字符串在此字符串中第一次出现处的索引。10intindexOf(Stringstr,intfromIndex)返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。11intlastIndexOf(intch)返回指定字符在此字符串中最后一次出现处的索引。12intlastIndexOf(intch,intfromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。13intlastIndexOf(Stringstr)返回指定子字符串在此字符串中最右边出现处的索引。14intlastIndexOf(Stringstr,intfromIndex)返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。15intlength()返回此字符串的长度。16booleanmatches(Stringregex)告知此字符串是否匹配给定的正则表达式。17Stringreplace(charoldChar,charnewChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。18String[]split(Stringregex)根据给定正则表达式的匹配拆分此字符串。19String[]split(Stringregex,intlimit)根据匹配给定的正则表达式来拆分此字符串。20Stringsubstring(intbeginIndex)返回一个新的字符串,它是此字符串的一个子字符串。21Stringsubstring(intbeginIndex,intendIndex)返回一个新字符串,它是此字符串的一个子字符串。22StringtoLowerCase()使用默认语言环境的规则将此String中的所有字符都转换为小写。23StringtoLowerCase(Localelocale)使用给定Locale的规则将此String中的所有字符都转换为小写。24StringtoString()返回此对象本身(它已经是一个字符串!)。25StringtoUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。26StringtoUpperCase(Localelocale)使用给定Locale的规则将此String中的所有字符都转换为大写。27Stringtrim()返回字符串的副本,忽略前导空白和尾部空白。28staticStringvalueOf(primitivedatatypex)返回给定datatype类型x参数的字符串表示形式。【例6.1】字符串转换操作publicclassExp61{ publicstaticvoidmain(String[]args){ Stringstr="banana"; inta=101; char[]charArray=str.toCharArray();//字符串转换为字符数组 System.out.print("将字符串转换为字符数组的遍历结果:"); for(inti=0;i<charArray.length;i++){ if(i!=charArray.length-1){ //如不是数组最后的一个元素,则加逗号 System.out.print(charArray[i]+","); }else{ //如是最后一个元素,则不加逗号 System.out.print(charArray[i]); } } System.out.println(); System.out.println(String.valueOf(a));//将int型数据转换为String类型 System.out.println(str.toUpperCase());//将字符串str转换为大写字母 }}运行结果:图6-2例6.1运行结果【例6.2】字符替换、去除空格、判断等操作publicclassExp62{ publicstaticvoidmain(String[]args){ Stringstr="Tomorrowwillbebetter."; Stringstr1=newString("ok"); Stringstr2=newString("ok"); //去除字符串前后空格 System.out.println(str.trim()); //将英文句号替换为英文叹号 System.out.println(str.replace('.','!')); //判断字符串是否为空 System.out.println(str.isEmpty()); //判断两个字符串是否相等 System.out.println(str.equals(str1)); //以下结果为true,因为str1和str2内容相同 System.out.println(str1.equals(str2)); //以下结果为false,因为str1与str2是两个对象 System.out.println(str1==str2); //判断是否包含指定字符序列 System.out.println(str.contains("be")); }}运行结果:图6-3例6.2运行结果【注意】在程序中可以通过==和equals()两种方式对字符串进行比较,但这两种方式有明显的区别。equals()方法用于比较两个字符串的字符值是否相等,==方法用于比较两个字符串对象的内存地址是否相同。6.4.2FileWriter类在程序开发中,经常需要对文本内容进行读取,如果想从文件中直接读取字符就可以用字符流FileReader,通过该类可以从文件中读取一个或一组字符。如果需要写入字符需要使用FileWriter。FileWriter类创建字符输出流类对象和已存在的文件相关联。构造方法1:FileWriterfw=newFileWriter(StringfileName);例如:FileWriterfw=newFileWriter("C:\\demo.txt");下面的构造方法2将创建字符输出流类对象和已存在的文件相关联,并设置该流对文档的操作是否为续写。构造方法2:FileWriterfw=newFileWriter(StringfileName,booleanappend);例如:FileWriterfw=newFileWriter("C:\\demo.txt",true);【注意】(1)使用FileWriter时,如果文件不存在,则会先创建文件,再写入数据;(2)根据构造方法1构造FileWriter,如果文件存在,则会先清空文件内容,再进行写入;(3)根据构造方法2构造FileWriter,第二个参数为true时,对文档再次写入时,会在该文档的结尾续写,并不会覆盖掉之前的数据。表6-2FileWriter的常用方法方法功能voidwrite(Stringstr)写入字符串。当执行完此方法后,字符数据还并没有写入到目的文档中去。此时字符数据会保存在缓冲区中。此时再使用刷新方法就可以使数据保存到目的文件中去。voidflush()刷新该流中的缓冲。将缓冲区中的字符数据保存到目的文件中去。voidclose()
关闭此流。在关闭前会先刷新此流的缓冲区。在关闭后,再写入或者刷新的话,会抛出IOException异常。【例6.3】importjava.io.FileWriter;importjava.io.IOException;publicclassExp63{ publicstaticvoidmain(String[]args)throwsIOException{ //创建字符输出流对象,并指定输出文件 FileWriterfw=newFileWriter("D:\\stu.txt"); //将定义的字符写入文件 fw.write("葡萄美酒夜光杯,\r\n"); fw.write("欲饮琵琶马上催,\r\n"); fw.write("醉卧沙场君莫笑,\r\n"); fw.write("古来征战几人回。\r\n"); //关闭流 fw.close(); }}运行结果:图6-2例6.1运行结果6.4.3Filereader1.构造方法FileReaderfr=newFileReader(StringfileName);//使用带有指定文件的String参数的构造方法。创建该输入流对象,并关联源文件。2.主要方法intread();//读取单个字符。返回作为整数读取的字符,如果已达到流末尾,则返回-1。intread(char[]cbuf);//将字符读入数组。返回读取的字符数。如果已经到达尾部,则返回-1。voidclose();//关闭此流对象。释放与之关联的所有资源。【例6.4】importjava.io.FileReader;publicclassExp64{ publicstaticvoidmain(String[]args)throwsException{ //创建FileReader对象,并指定需要读取的文件 FileReaderfr=newFileReader("D://stu.txt"); //定义一个int类型的变量len,其初始化为0 intlen=0; //通过循环来判断是否读取到了文件末尾 while((len=fr.read())!=-1){ //输出读取的字符 System.out.print((char)len); } //关闭流 fr.close(); }}【例6.5】importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;publicclassExp65{ /** *将D:\\的stu.txtcopy到E:\\下 * *首先创建FileReader读取数据的读取流对象。 * */ publicstaticvoidmain(String[]args){ FileReaderfr=null; FileWriterfw=null; try{ fr=newFileReader("D:\\stu.txt"); fw=newFileWriter("E:\\you.txt"); //读一个字符,写一个字符方法 intch=0; while((ch=fr.read())!=-1){ fw.write(ch); } char[]buf=newchar[1024]; intlen=0; //读一个数组大小,写一个数组大小方法。 while((len=fr.read(buf))!=-1){ fw.write(buf,0,len); } }catch(Exceptione){ System.out.println(e.toString()); }finally{ if(fr!=null) try{ fr.close(); }catch(Exceptione1){ thrownewRuntimeException("关闭失败!"); } if(fw!=null) try{ fw.close(); }catch(IOExceptione2){ thrownewRuntimeException("关闭失败!"); } } }}【知识拓展】6.6.1父、子类对象的类型转换父类对象和子类对象之间在一定条件下可以相互转换。1.向上转型即父类的引用指向了子类的对象。语法:父类类型引用名=new子类类型();向上转型时,可以调用父类类型中的所有成员,不能调用子类类型中的独有成员。2.向下转型语法:子类类型引用名=(子类类型)父类引用;向下转型是为了通过父类强制转换为子类,从而调用子类独有的方法(向下转型在工程中很少用到)。为了保证向下转型的顺利完成,在java中提供了一个关键字:instanceof,通过instanceof可以判断某对象是否是某类的实例,如果是则返回true,否则返回false。【技能训练】一、任务分析操作步骤如下:步骤一:添加select()方法,完成成绩查询功能;步骤二:添加writeFile()方法,完成成绩信息写入txt文件功能。二、任务实施任务概览:publicclassStudent{}publicclassSMS{menu();//主菜单add();//添加学生信息select();//显示本次录入学生信息modify();//修改学生信息delete();//删除学生信息writeFile();//将确认无误的学生信息写入txt文件judge();//判断本次是否录入了学生信息main();}步骤一:添加select()方法,完成成绩查询功能;publicvoidselect()throwsIOException{ this.judge(); System.out.println("学生信息列表\r\n\r\n学号\t\t姓名\t\t班级\t\tsql成绩\t\tjava成绩\t\t网页制作成绩\t\t体育成绩\r\n"); for(inti=0;i<n;i++){ System.out.println(s[i].getSno()+"\t\t"+s[i].getName()+"\t\t"+s[i].getClassname()+"\t\t"+s[i].getSql()+"\t\t"+s[i].getJava()+"\t\t"+s[i].getWebdesign()+"\t\t\t"+s[i].getGym()); } System.out.println("系统返回主菜单!"); System.out.println(); this.menu(); }步骤二:添加writeFile()方法,完成成绩录入情况显示功能。publicvoidwriteFile()throwsIOException{ FileWriterfw=newFileWriter(file,true);//将学生信息录入指定的txt文件中 if(file.exists()&&file.length()==0){ fw.write("学生信息列表\r\n\r\n学号\t\t姓名\t\t班级\t\tsql成绩\t\tjava成绩\t\t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级化学上册 第一单元 走进化学世界课题2 化学是一门以实验为基础的科学第2课时 对人体吸入的空气和呼出的气体的探究教学设计 (新版)新人教版
- 2024秋五年级英语上册 Unit 4 What can you do课时5 Let's learn-Write and say教学设计 人教PEP
- 2023一年级数学上册 一 生活中的数第3课时 玩具教学设计 北师大版
- 2023四年级数学下册 五 动物世界-小数的意义和性质信息窗1 小数的意义第3课时教学设计 青岛版六三制
- 行业作风动员会
- 2024-2025学年高中语文 第三单元 纵论人生 阐释哲理 第9课 觅渡觅渡渡何处教学设计 语文版选修《中国现当代散文鉴赏》
- 8 神奇的肥皂粉 (教学设计)人教版(2012)美术五年级下册
- 2023七年级道德与法治下册 第二单元 做情绪情感的主人第四课 揭开情绪的面纱 第1框 青春的情绪教学设计 新人教版
- 2024年五年级英语上册 Unit 3 My father is a writer Fun Facts教学设计 人教精通版(三起)
- 三年级下册科学教学设计-太阳与影子-青岛版
- 工具表单-岗位价值评估表(海氏)
- 《肺功能测定及报告》课件
- 2024年中国酸奶乳品市场调查研究报告
- 外研版(2025新版)七年级下册英语Unit 3 学情调研测试卷(含答案)
- 房地产 -中建审计管理手册(2024年)
- 国企未来五年规划
- DB37T 2299-2013 黑鲪(许氏平鲉)苗种培育技术规程
- 《UG基本操作》课件
- 劝学类3篇文言文中考语文复习
- DB32T-国土空间生态保护修复工程生态成效监测评估技术导则(报批稿)编制说明
- 2022年基本级执法资格考试题库解析版(一)
评论
0/150
提交评论