收藏 分享(赏)

北大青鸟--使用Java理解程序逻辑14.ppt

上传人:精品资料 文档编号:11265673 上传时间:2020-03-06 格式:PPT 页数:40 大小:1.75MB
下载 相关 举报
北大青鸟--使用Java理解程序逻辑14.ppt_第1页
第1页 / 共40页
北大青鸟--使用Java理解程序逻辑14.ppt_第2页
第2页 / 共40页
北大青鸟--使用Java理解程序逻辑14.ppt_第3页
第3页 / 共40页
北大青鸟--使用Java理解程序逻辑14.ppt_第4页
第4页 / 共40页
北大青鸟--使用Java理解程序逻辑14.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、带参数的方法,第十四章,回顾与作业点评,无参方法有哪几个组成部分? 调用无参方法的两种形式是什么? 方法的返回值使用什么关键字?,提问,2/40,预习检查,调用带参方法时,有哪些注意事项? 包的作用是什么?,提问,3/40,本章任务,实现客户信息的添加和显示 修改客户姓名 对客户姓名排序 实现模拟账户存取款功能,4/40,本章目标,会定义带参方法 会使用带参方法 会创建包组织Java工程,5/40,为什么要用带参数的方法,工作原理,新鲜桃汁,新鲜苹果汁,新鲜梨汁,输出三种果汁,6/40,如何使用带参数的方法3-1,定义带参数的方法调用带参数的方法,public class ZhazhiJi p

2、ublic String zhazhi ( String fruit ) String juice = fruit + “汁“;return juice; ,/*调用zhazhi方法*/ ZhazhiJi myZhazhiji = new ZhazhiJi(); String myFruit = “苹果“; String myJuice = myZhazhi.zhazhi(myFruit); System.out.println(myJuice);,参数列表: (数据类型 参数1,数据类型 参数2),调用方法,传递的参数要与参数列表一一对应,7/40,如何使用带参数的方法3-2, 返回类型 (

3、) /方法的主体 ,该方法允许被访问调用的权限范围,方法返回值的类型,public class StudentsBiz String names = new String30; public void addName(String name) /增加学生姓名public void showNames() /显示全部学生姓名 ,传送给方法的形参列表,一个形式参数,没有返回值,语法,示例,定义带参数的方法,8/40,如何使用带参数的方法3-3,public static void main(String args) StudentsBiz st = new StudentsBiz();Scanne

4、r input = new Scanner(System.in);for(int i=0;i5;i+)System.out.print(“请输入学生姓名:“);String newName = input.next(); st.addName(newName);st.showNames(); ,实参的类型、数量、顺序 都要与形参一一对应,先实例化对象, 再使用方法,调用带参数的方法,对象名.方法名(参数1, 参数2,,参数n),实参列表,语法,示例,9/40,带多个参数的方法2-1,设计方法,通过传递三个参数(开始位置、结束位置、查找的姓名)来实现,在保存了多个学生姓名的数组中,指定查找区间,

5、查找某个学生姓名并显示是否查找成功,问题,分析,10/40,public boolean searchName (int start,int end,String name) boolean find = false; / 是否找到标识/ 指定区间数组中,查找姓名for(int i=start-1;iend;i+) if(namesi.equals(name) find=true;break;return find; ,返回值类型,带有三个形参,返回结果:boolean类型,带多个参数的方法2-2,if(st.searchName(s,e,name) System.out.println(“找

6、到了!“); elseSystem.out.println(“没找到该学生!“); ,传递三个实参,示例,11/40,/方法定义 public void addName(String name) /方法体 /方法调用 对象名.addName(String “张三“);,调用方法时不能指定实参类型!,常见错误4-1,对象名.addName(“张三“);,代码阅读,注意,12/40,/方法定义 public boolean searchName(int start ,int end ,String name)/方法体 /方法调用 String s=“开始“; int e=3; String nam

7、e=“张三“; boolean flag=对象名. searchName(s ,e ,name);,形参和实参数据类型不一致!,常见错误4-2,代码阅读,注意,13/40,/方法定义 public boolean searchName(int start,int end,String name)/方法体 /方法调用 int s=1; int e=3; boolean flag= 对象名.searchName(s,e);,形参和实参数量不一致!,常见错误4-3,代码阅读,注意,14/40,/方法定义 public boolean searchName(int start,int end,Stri

8、ng name)/方法体 /方法调用 int s=1; int e=3; String name=“张三“; 对象名.searchName(s,e,name);,调用方法后没有对返回值作任何处理!,常见错误4-4,代码阅读,注意,15/40,学员操作客户姓名添加和显示2-1,训练要点 带参方法的定义 带参方法的调用 需求说明 创建客户业务类,实现客户姓名的添加和显示,指导,16/40,学员操作客户姓名添加和显示2-2,实现思路 1. 创建CustomerBiz类 2. 创建带参方法addName(String name) 3. 创建方法showNames() 4. 创建测试类 难点指导 创建无

9、返回值的带参方法,指导,17/40,学员操作修改客户姓名,需求说明 修改学生姓名,输入新、旧姓名,进行修改并显示是否修改成功,练习,提示,定义方法,public boolean editName (String oldName,String newName),18/40,共性问题集中讲解,常见问题及解决办法 代码规范问题 调试技巧,共性问题集中讲解,19/40,数组作为参数的方法2-1,将5位学员的决赛成绩保存在数组中 设计求平均成绩、最高成绩的方法,并把数组作为参数,有5位学员参加了Java知识竞赛的决赛,输出决赛的平均成绩和最高成绩,问题,分析,20/40,public double ca

10、lAvg( int scores )int sum=0;double avg=0.0;for(int i =0;iscores.length;i+)sum+=scoresi;avg=(double)sum/scores.length;return avg; ,返回值类型,数组作为参数的方法2-2,示例,public int calMax( int scores )int max=scores0;for(int i =1;iscores.length;i+)if(maxscoresi)max=scoresi;return max;,int scores=new int5;/保存比赛成绩/ dou

11、ble avgScore=st.calAvg(scores); int maxScore=st.calMax(scores);,数组参数,调用方法,21/40,对象作为参数的方法2-1,方式一:设计带四个参数(学号、姓名、年龄、成绩)的方法 方式二:将学生学号、姓名、年龄、成绩封装在学生对象中,设计方法,以学生对象作为参数,在实现了增加一个学生姓名的基础上,增加学生的学号、年龄和成绩,并显示这些信息,如何实现?,问题,分析,可以将多个相关的信息封装成对象,作为参数传递,避免方法有太多的参数!,经验,22/40,class Student public int id;public String

12、name;public int age;public int score; public void showInfo() System.out.println(id+“t“+name+“t“+age+“t“+score); ,学生类,对象作为参数的方法2-2,示例,public void addStudent( Student stu ) for(int i =0;istudents.length;i+) if(studentsi=null) studentsi=stu;break; ,/ studentsBiz.addStudent(student1); studentsBiz.addStu

13、dent(student2);,对象参数,调用方法,23/40,学员操作对客户姓名排序2-1,训练要点 带参方法的调用 数组作为方法的参数 需求说明 编写方法,实现对客户姓名的排序,指导,24/40,学员操作对客户姓名排序2-2,实现思路 1. 利用数组存储学生姓名 2. 定义排序方法:sortNames(String names) 3. 创建测试类难点指导 创建数组作为参数的方法 调用数组作为参数的方法,指导,25/40,学员操作改进客户信息的添加和显示,需求说明 实现添加客户信息 客户信息包括:姓名、年龄、是否有会员卡,练习,提示,定义Customer类 在CustomerBiz类中声明客

14、户对象数组 定义添加客户的方法:addCustomer (Customer cust) 定义显示信息的方法:showCustomers(),26/40,共性问题集中讲解,常见问题及解决办法 代码规范问题 调试技巧,共性问题集中讲解,27/40,为什么需要包,Windows树形文件系统 文档分门别类,易于查找和管理 使用目录解决文件同名冲突问题如何存放两个同名的类而不冲突?,问题,28/40,包,解决类的同名问题,允许类组成较小的单元(类似 文件夹),易于找到和使用相 应的文件,防止命名冲突,更好的保护类、属 性和方法,29/40,如何创建包,package cn.jbit.classandob

15、ject; /声明包 public class AccpSchool /public String toString() / ,包名,用package声明包, 以分号结尾,作为Java源代码 第一条语句,示例,30/40,包命名规范,包名由小写字母组成,不能以圆点开头或结尾包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名包名后续部分依不同机构内部的规范不同而不同,package mypackage;,package net.javagroup.mypackage;,package net.javagroup.research.powerproject;,部门名,项目名,package .

16、mypackage; ,31/40,用MyEclipse 创建包,使用MyEclipse创建包的两种方法 分别创建包和类 创建类的过程中创建类所在的包,32/40,包与目录的关系,创建好的包和Java源文件是如何存储的? 创建包cn.jbit.classandobject ,即创建了目录结构:cnjbitclassandobject,cn,jbit,classandobject,AccpSchool.java,HelloAccp.java,问题,33/40,如何导入包,为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类,import java.util.*; /导入

17、java.util包中所有类 import cn.jbit.classandobject.AccpSchool; /导入指定包中指定类,关键字import并不陌生,import 包名. 类名;,1. 系统包:java.util 2. 自定义包:cn.jbit.classandobject,*: 指包中的所有类 AccpSchool :指包中的AccpSchool类,语法,34/40,小结,AccpSchool.java位于cn.jbit.classandobject包中,HelloAccp.java位于demo包中,下面程序空缺部分需要填入代码吗?如果需要,是什么?,/添加代码2/添加代码3

18、public class HelloAccp public static void main(String args) AccpSchool center = new AccpSchool();center.showMessage(); ,/添加代码1public class AccpSchool public void showMessage() System.out.println(“这是上 海Accp中心。“); ,package cn.jbit.classandobject;,package demo;,import cn.jbit.classandobject.*;,声明包的含义:

19、声明当前类所处的位置,导入包的含义: 声明在当前类中要使用到的 别的类所处的位置,代码阅读,35/40,学员操作模拟银行账户业务,需求说明 模拟银行账户业务 创建包, 编写Account类,添加带参 方法实现存款和取款业务, 存款时帐户初始金额为0元, 取款时如果余额不足给出提示,练习,36/40,共性问题集中讲解,常见问题及解决办法 代码规范问题 调试技巧,共性问题集中讲解,37/40,总结,带参方法定义的一般形式形参是在定义方法时对参数的称呼 实参是在调用方法时传递给方法的实际的值 调用带参方法时要求实参与形参要匹配 创建包使用关键字package 导入包使用关键字import, 返回类型 () /方法的主体 ,38/40,作业,课后作业 教员备课时根据班级情况在此添加内容,应区分必做、选做内容,以满足不同层次学员的需求预习作业 预习目标 了解String类处理字符串的常见方法 预习下一章学生用书,完成预习作业,39/40,40/40,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报