8-类的带参方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

类的带参方法第八章写出如下代码的运行结果publicstaticvoidmain(String[]args){for(inti=0;i6;i++){System.out.print(i+,);while(++i5){continue;}System.out.print(i);}}0,5回顾与作业点评预习检查调用带参方法时,有哪些注意事项?为什么需要包?本章任务实现客户信息的添加和查询实现图形生成器实现模拟账户存取款功能本章目标会定义带参方法会使用带参方法会创建包组织Java工程为什么要用带参数的方法工作原理新鲜桃汁新鲜苹果汁新鲜梨汁输出三种果汁如何使用带参数的方法3-1定义带参数的方法调用带参数的方法publicclassZhazhi{publicStringzhazhi(Stringfruit){Stringjuice=fruit+汁;returnjuice;}}/*调用zhazhi方法*/ZhazhimyZhazhi=newZhazhi();StringmyFruit=苹果;StringmyJuice=myZhazhi.zhazhi(myFruit);System.out.println(myJuice);参数列表:(数据类型参数1,数据类型参数2…)调用方法,传递的参数要与参数列表一一对应如何使用带参数的方法3-2访问修饰符返回类型方法名(形式参数列表){//方法的主体}该方法允许被访问调用的权限范围方法返回值的类型publicclassStudentsBiz{String[]names=newString[30];publicvoidaddName(Stringname){//增加学生姓名}publicvoidshowNames(){//显示全部学生姓名}}传送给方法的形参列表一个形式参数没有返回值如何使用带参数的方法3-3publicstaticvoidmain(String[]args){StudentsBizst=newStudentsBiz();Scannerinput=newScanner(System.in);for(inti=0;i5;i++){System.out.print(请输入学生姓名:);StringnewName=input.next();st.addName(newName);}st.showNames();}实参的类型、数量、顺序都要与形参一一对应先实例化对象,再使用方法演示示例1:带一个参数的方法调用带参数的方法对象名.方法名(实参1,实参2,……,实参n)实参列表指导——实现客户姓名添加和显示训练要点:带参方法的定义带参方法的调用需求说明:创建客户业务类,实现客户姓名的添加和显示实现思路:1、创建CustomerBiz类2、创建带参方法addName()3、创建方法showNames()4、创建测试类难点指导:创建无返回值的带参方法讲解需求说明完成时间:25分钟练习——查找客户姓名需求说明:根据需要,查找客户姓名,给出查找结果完成时间:20分钟提示:定义带参带返回值的方法publicbooleansearch(Stringname)共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解可以设计一个方法来实现,通过传递两个参数(需要修改的姓名、新姓名)来实现带两个参数的方法2-11、修改学生姓名,输入新、旧姓名,进行修改并显示是否修改成功publicclassStudentsBiz{String[]names=newString[30];…publicbooleaneditName(StringoldName,StringnewName){booleanfind=false;//是否找到并修改成功标识//循环数组,找到姓名为oldName的元素,修改为newNamefor(inti=0;inames.length;i++){if(names[i].equals(oldName)){names[i]=newName;find=true;break;}}returnfind;}}返回值类型带有两个形参返回结果:boolean类型带两个参数的方法2-2publicclassTestModify{publicstaticvoidmain(String[]args){……System.out.print(\n请输入要修改的学生姓名:);Stringoldname=input.next();System.out.print(\n请输入新的学生姓名:);Stringnewname=input.next();System.out.println(\n*****修改结果*****);if(st.editName(oldname,newname)){System.out.println(找到并修改成功!);}else{System.out.println(没找到该学生!);}st.showNames();}}根据返回值进行处理传递两个实参演示示例2:带两个参数的方法设计方法,通过传递三个参数(开始位置、结束位置,查找的姓名)来实现带多个参数的方法2-12、指定查找区间,查找学生姓名并显示是否修改成功publicbooleansearchName(intstart,intend,Stringname){booleanfind=false;//是否找到标识//指定区间数组中,查找姓名for(inti=start-1;iend;i++){if(names[i].equals(name)){find=true;break;}}returnfind;}返回值类型带有三个形参返回结果:boolean类型带多个参数的方法2-2演示示例3:带多个参数的方法if(st.searchName(s,e,name)){System.out.println(找到了!);}else{System.out.println(没找到该学生!);}传递三个实参//方法定义publicvoidaddName(Stringname){//方法体}//方法调用对象名.addName(String张三);调用方法时不能指定实参类型!常见错误4-1对象名.addName(张三);//方法定义publicbooleansearchName(intstart,intend,Stringname){//方法体}//方法调用Strings=开始;inte=3;Stringname=张三;booleanflag=对象名.searchName(s,e,name);形参和实参数据类型不一致!常见错误4-2//方法定义publicbooleansearchName(intstart,intend,Stringname){//方法体}//方法调用ints=1;inte=3;booleanflag=对象名.searchName(s,e);形参和实参数量不一致!常见错误4-3//方法定义publicbooleansearchName(intstart,intend,Stringname){//方法体}//方法调用ints=1;inte=3;Stringname=张三;对象名.searchName(s,e,name);调用方法后没有对返回值作任何处理!常见错误4-4练习——实现图形生成器需求说明:根据指定不同的行以及字符,生成不同的三角形完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解为什么需要包生活案例文档分门别类,易于查找不同内容的文档可以放在不同的袋子中,拥有相同的名字,避免冲突易于管理为什么需要包树形文件系统使用目录解决文件同名冲突问题如何存放两个同名的类而不冲突?Sort.java插入排序Sort.java冒泡排序包包——解决类的同名问题允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件防止命名冲突更好的保护类、属性和方法A.java包如何创建包packagecn.jbit.classandobject;//声明包publicclassAccpSchool{//……publicStringtoString(){//……}}包名使用package声明包,以分号结尾如果有包的声明,一定作为Java源代码的第一条语句包命名规范包名由小写字母组成,不能以圆点开头或结尾包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名javagroup.net包名后续部分依不同机构内部的规范不同而不同packagemypackage;packagenet.javagroup.mypackage;packagenet.javagroup.research.powerproject;部门名项目名package.mypackage;×用Eclipse创建包使用Eclipse创建包的两种方法:分别创建包和类:创建项目→创建包→创建类创建类的过程中创建类所在的包创建项目→创建包和类演示示例4:使用Eclipse创建包和类包与目录的关系创建好的包和Java源文件是如何存储的?创建包cn.jbit.classandobject,即创建了目录结构:cn\jbit\classandobjectcnjbitclassandobjectAccpSchool.javaHelloAccp.java如何导入包为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类importjava.util.*;//导入java.util包中所有类importcn.jbit.classandobject.AccpSchool;//导入指定包中指定类关键字import并不陌生import包名.类名;1、系统包:java.util2、自定义包:cn.jbit.classandobject*:指包中的所有类AccpSchool:指包中的AccpSchool类小结AccpSchool.java位于cn.jbit.classandobject包中,HelloAccp.java位于demo包中,下面程序空缺部分需要填入代码吗?如果需要,是什么?//添加代码2//添加代码3publicclassHelloAccp{publicstaticvoidmain(String[]args){AccpSchoolcenter=newAccpSchool();center.showMessage();}}//添加代码1publicclassAccpSchool{publicvoidshowMessage(){System.out.println(“这是上海Accp中心。);}}packagecn.jbit.classandobject;packagedemo;importcn.jbit.classandobject.*;声明包的含义:声明当前类所处的位置导入包的含义:声明在当前类中要使用到的别的类所处的位置练习——模拟账户查询,实现存取款需求说明:模拟银行账户业务,创建ban.com,编写Account类,添加带参数方法存款和取款,存款初始为0元,取款时需要判断余额是否充足。进行余额查询,实现存款和取款完成时间:20分钟共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解小结形式参数和实际参数有什么区别?调用带参方法是有哪些注意事项?如何声明包?如何导入包?包与存储Java源文件的目录结构关系是什么?//方法定义publicvoidaddName(name){//方法体}//方法调用intn=对象名.addName(张三);纠正代码中的错误,输出“早上好!”包(package)的作用有哪些?必须指定形参类型代码改错方法没有返回值本节任务实现MyShopping系统增加会员功能实现MyShopping系统会员积分功能使用Arrays类提供的sort()方法实现定义一个独立的方法来实现姓名排序,该方法的返回值为数组类型数组类型的方法返回值2-11、编写方法,实现学生的姓名排序publicclassStud

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功