java课程新版本面向对象部分ppt课件_第1页
java课程新版本面向对象部分ppt课件_第2页
java课程新版本面向对象部分ppt课件_第3页
java课程新版本面向对象部分ppt课件_第4页
java课程新版本面向对象部分ppt课件_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

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

文档简介

1、Java程序设计第十章第十章回顾与作业点评回顾与作业点评关于多重循环语句,下列说法正确的是( )A多重循环指一个循环体内包含另一个完整的循环结构 B多重循环语句可以嵌套任意层次Cwhile、do-while和for循环不可以相互嵌套D在内层循环中执行break语句,将跳出外层循环写出运行结果 int i = 0; for (i = 0; i =18 & age=60)/判断年龄判断年龄System.out.println(name+“年龄为年龄为+age+“,价格为价格为20元元 );elseSystem.out.println(name + 的年龄为:的年龄为:+age+,免费,免费

2、);创建和使用对象示例创建和使用对象示例5-5成员方法成员方法成员变量成员变量import java.util.Scanner;public class InitialVistor public static void main(String args) Scanner input = new Scanner(System.in);Visitor v = new Visitor();System.out.print(请输入姓名:请输入姓名:); = input.next();System.out.print(请输入年龄:请输入年龄:);v.age = input.nextInt()

3、;v.show(); 创建对象创建对象给每个属性赋值给每个属性赋值调用方法调用方法演示示例演示示例4:创建和使用对象:创建和使用对象3小结小结2类和对象的关系?如何创建和使用对象?指导指导定义管理员类定义管理员类 训练要点:定义类的属性定义类的方法需求说明:编写管理员类实现思路:1、定义管理员类Administrator2、定义其属性和方法讲解需求说明讲解需求说明完成时间:完成时间:20分钟分钟练习练习定义客户类定义客户类需求说明:编写客户类属性:积分、卡类型方法:show(),显示客户信息提示:定义客户类Customer定义属性和方法 完成时间:完成时间:15分钟分钟指导指导创建管理员对象创

4、建管理员对象 训练要点:使用类创建对象引用对象的属性和方法需求说明:创建两个管理员类对象,输出他们的相关信息 实现思路:1、创建两个管理员类的对象2、给两个对象赋值并调用显示方法讲解需求说明讲解需求说明完成时间:完成时间:20分钟分钟指导指导更改管理员密码更改管理员密码 训练要点:使用类创建对象while循环需求说明:输入旧的用户名和密码,如果正确,方有权限更新从键盘获取新的密码,进行更新实现思路:1、创建管理员类的对象2、利用while实现循环执行 难点指导:循环执行讲解需求说明讲解需求说明完成时间:完成时间:25分钟分钟练习练习客户积分回馈客户积分回馈需求说明:实现积分回馈功能,金卡客户积

5、分大于1000分或普卡客户积分大于5000,获得回馈积分500分创建客户对象输出他得到的回馈积分完成时间:完成时间:20分钟分钟面向对象面向对象OO的优点的优点与人类的思维习惯一致把人类解决问题的思维过程转变为程序能够理解的过程 信息隐藏,提高了程序的可维护性和安全性 封装实现了模块化和信息隐藏 封装使得在对象外部不能随意访问对象的属性和方法提高了程序的可重用性一个类可以创建多个对象实例,增加了重用性 数据类型总结数据类型总结intdoublecharboolean String数组数组使用使用class定义的类型定义的类型基本数据类型基本数据类型引用数据类型引用数据类型数据类型使用区别数据类

6、型使用区别数据类型数据类型特特 征征声声 明明使使 用用基本数据类型基本数据类型没有方法没有方法int i= 8;int i= 8;i+i+;引用数据类型引用数据类型具有方法具有方法Student stu = Student stu = new Student(); new Student();stu.age=20;stu.age=20;总结总结什么是类?什么是对象?类和对象的区别是什么?如何定义一个类、类的属性和方法?如何创建类的对象?数据类型有哪两种?区别是什么?作业作业课后作业必做149页选做上机操作题提交时间:xxx提交形式:xxx预习作业查阅相关英语单词逻辑程序基础知识复习Java程

7、序设计第十一章第十一章类和对象的区别是什么?数据类型有哪两类?如何使用?public class &Student String name; char sex; int age; public String tostring ( ) return name + t + sex + t + age; public static void main(String args) Student stu = new Student(); name = 神仙姐姐神仙姐姐; sex = F; age = 18; System.out.println(stu); Student toStringstu

8、.namestu.sexstu.age实现输出学生信息,下面代码有哪些错误?实现输出学生信息,下面代码有哪些错误?回顾与作业点评回顾与作业点评预习检查预习检查类的方法由哪几部分组成?成员变量和局部变量的区别有哪些?JavaDoc怎样写注释?本章任务本章任务实现计算平均分和课程总成绩实现MyShopping系统菜单切换实现MyShopping系统入口程序 会定义和使用类的方法理解变量作用域会添加JavaDoc注释本章目标本章目标类的方法类的方法1、写出狮子对象的“跑方法、 “叫方法电动玩具狮子电动玩具狮子属性:属性:颜色:黄色颜色:黄色行为:行为:跑跑叫叫按此按钮,按此按钮,狮子开始叫狮子开始叫

9、按此按钮,按此按钮,狮子开始跑狮子开始跑类的方法示例类的方法示例public class AutoLion String color = 黄色黄色; public void run() System.out.println(正在以正在以0.1米米/秒的速度向前奔跑秒的速度向前奔跑); public String bark() String sound = 大声吼叫大声吼叫 ; return sound; AutoLion类代码实现方法体方法体返回类型返回类型演示示例演示示例1:定义类的方法:定义类的方法方法名称方法名称如何定义类的方法如何定义类的方法类的方法定义类的某种行为或功能) 方法的定义

10、方法的定义 方法的名称方法的名称 方法的主体方法的主体 方法返回的数据类型方法返回的数据类型 定义类的方法定义类的方法public 返回值类型返回值类型 方法名方法名() /这里编写方法的主体这里编写方法的主体步骤一:定义方步骤一:定义方法名以及返回值法名以及返回值步骤二:编写方步骤二:编写方法体法体方法的返回值方法的返回值两种情况如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型如果方法没有返回值,返回类型为voidpublic class Student String name = 张三张三; public void getName() return n

11、ame; 返回类型要匹配返回类型要匹配return 表达式;表达式;编译错误编译错误作用:作用: 跳出方法跳出方法给出结果给出结果方法调用方法调用方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果方法调用:执行方法中包含的语句 对象名对象名.方法名方法名();2、小明过生日,爸爸送他一个电动狮子玩具,、小明过生日,爸爸送他一个电动狮子玩具,编程测试这个狮子能否正常工作编程测试这个狮子能否正常工作 方法调用方法调用public class AutoLion String color = 黄色黄色; /颜色颜色 /*跑跑*/ public void run() System.out.pri

12、ntln(正在以正在以0.1米米/秒的速度向前奔跑。秒的速度向前奔跑。); /*叫叫*/ public String bark() String sound = 大声吼叫大声吼叫 ; return sound; /*获得颜色获得颜色*/ public String getColor() return color; /*显示狮子特性显示狮子特性*/ public String showLion() return 这是一个这是一个 + getColor() + 的玩具狮子的玩具狮子!; public class TestLion public static void main(String arg

13、s) AutoLion lion = new AutoLion(); System.out.println(lion.showLion(); lion.run(); System.out.println(lion.bark(); 在类的方法中调用在类的方法中调用该类另一个方法该类另一个方法演示示例演示示例2:方法调用:方法调用在在main()方法中方法中调用类的方法调用类的方法 方法调用小结方法调用小结方法之间允许相互调用,不需要知道方法的具体实现,提高了效率 情情 况况 举举 例例Student类的方法类的方法a( )调用调用Student类的方法类的方法b( ),直接,直接调用调用publ

14、ic voidpublic void a( ) a( ) b( ); / b( ); /调用调用b( )b( ) Student类的方法类的方法a( )调用调用Teacher类的方法类的方法b( ),先,先创建类对象,然后使用创建类对象,然后使用“.”调用调用public voidpublic void a( ) a( ) Teacher t = Teacher t = newnew Teacher( ); Teacher( ); t.b( ); / t.b( ); /调用调用TeacherTeacher类的类的b()b() public class Studentpublic void sh

15、owInfo() return 我是一名学生我是一名学生; 方法的返回类型为方法的返回类型为void,方法中不能有,方法中不能有return返回值!返回值!常见错误常见错误4-1public class Studentpublic double getInfo() double weight = 95.5; double height = 1.69; return weight, height; 方法不能返回多个值!方法不能返回多个值!常见错误常见错误4-2public class Studentpublic String showInfo()return 我是一名学生我是一名学生;publi

16、c double getInfo() double weight = 95.5; double height = 1.69; return weight; 多个方法不能相互嵌套定义!多个方法不能相互嵌套定义!常见错误常见错误4-3public class Studentpublic String showInfo()return 我是一名学生我是一名学生;public double getInfo()double weight = 95.5; double height = 1.69; return weight;public class Studentint age=20;if(age20)

17、 System.out.println(年龄不符合入学要求!年龄不符合入学要求!); public void showInfo()return 我是一名学生我是一名学生;不能在方法外部直接写程序逻辑代码!不能在方法外部直接写程序逻辑代码!常见错误常见错误4-4小结小结1编写电池类Cell):具有品牌属性,可以续电编写测试类TestCell)电池类电池类属性:属性:品牌品牌行为:行为:续电续电参考代码参考代码1参考代码参考代码2成员变量和局部变量成员变量和局部变量2-1变量声明的位置决定变量作用域变量作用域确定可在程序中按变量名访问该变量的区域for(int i = 0, a = 0; i 4;

18、 i+) a+;System.out.println ( a );代码错误代码错误a的作用域仅在的作用域仅在for循环中循环中 成员变量和局部变量成员变量和局部变量2-2变量变量1类型类型 变量变量1; 变量变量2类型类型 变量变量2;变量变量3类型类型 变量变量3;public 返回类型返回类型 方法方法1() 变量变量4类型类型 变量变量4;public 返回类型返回类型 方法方法2() 变量变量5类型类型 变量变量5; public class AutoLion AutoLion类的方法,类的方法,其他类的方法其他类的方法 谁能使用这些变量?谁能使用这些变量? 方法方法1 方法方法2 成

19、员变量成员变量 局部变量局部变量 局部变量局部变量 作用域不同局部变量的作用域仅限于定义它的方法成员变量的作用域在整个类内部都是可见的初始值不同Java会给成员变量一个初始值Java不会给局部变量赋予初始值在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量两类变量同名时,局部变量具有更高的优先级成员变量和局部变量的区别成员变量和局部变量的区别public class Test int score1 = 88; int score2 = 98; public void calcAvg() int avg = (score1 + score2)/2; public void

20、showAvg() System.out.println(平均分是:平均分是: + avg); 常见错误常见错误局部变量局部变量avg的作用域仅限于的作用域仅限于calcAvg()方法方法指导指导计算平均分和总成绩计算平均分和总成绩 训练要点:方法的定义和调用需求说明:从键盘接收三门课分数,计算三门课的平均分和总成绩,编写成绩计算类实现功能 实现思路:1、创建类 ScoreCalc2、编写方法实现各功能3、编写测试类难点指导:面向对象编程思维讲解需求说明讲解需求说明完成时间:完成时间:25分钟分钟面向对象的编程思维面向对象的编程思维ScoreCalc类 和 Test类public static

21、 void main(String args) Scanner input = new Scanner(System.in); System.out.print(请输入请输入Java成绩:成绩:); int java = input.nextInt(); /*计算并显示输出计算并显示输出*/ int total = java + c + db; double avg = total / 3; System.out.print(总成绩:总成绩: + total); System.out.print(n平均分平均分: + avg);一次还可以接受,假如一次还可以接受,假如还要再执行这个功能,还要再

22、执行这个功能,难道还要重复再写?难道还要重复再写?calcDiffTimecalcTotalScore()ScoreCalcshowTotalScore()calcAvg()showAvg() main() /程序入口程序入口 /计算并输出总成绩计算并输出总成绩 /计算并输出平均分计算并输出平均分 Test调用调用调用调用类的方法实现某个特定的功能,类的方法实现某个特定的功能,其他类不需要知道它如何实现!其他类不需要知道它如何实现!知道了实现此功能的类和它的方法名,知道了实现此功能的类和它的方法名, 就可以直接调用了,不用重复写代码!就可以直接调用了,不用重复写代码! 面向对象面向对象OOOO

23、思想思想小结小结2编写手机类Phone):可以下载音乐,可以播放这些音乐,可以进行充电重用电池类方法Cell)编写测试类TestPhone)手机类手机类行为:行为:播放下载的音乐播放下载的音乐下载下载充电充电电池类电池类属性:属性:品牌品牌行为:行为:续电续电参考代码参考代码1参考代码参考代码2练习练习定义管理员类定义管理员类 需求说明:根据下图所示信息,编写管理员类Manager,使用show()方法返回管理员信息 编写测试类ManagerTest输出管理员信息完成时间:完成时间:10分钟分钟指导指导实现菜单的级联效果实现菜单的级联效果训练要点:方法的定义和调用循环结构需求说明:实现MySh

24、opping菜单,输入菜单项编号,可以自由切换各个菜单 实现思路:1、创建菜单类Menu 2、编写方法实现各功能3、编写测试类难点指导:面向对象编程思维讲解需求说明讲解需求说明完成时间:完成时间:30分钟分钟练习练习实现系统入口程序实现系统入口程序需求说明:编写类StartSMS,实现输入用户名和密码,符合条件的进入系统 完成时间:完成时间:20分钟分钟JavaDoc注释注释回顾学过的注释方式单行注释:/这里是单行注释多行注释:/*这里是多行注释, 可以多行*/JavaDoc注释:使用“/*”开始和“*/”完毕,用来注释类、属性和方法等/* *CalcScore类类 *author Chris

25、 *version 1.0 2019/06/21 */描述信息描述信息 author :描述作者信息:描述作者信息 version :描述版本信息:描述版本信息 3、为ScoreCalc类添加JavaDoc注释 添加添加JavaDoc注释注释/* * ScoreCalc类类 * author 北大青鸟北大青鸟 * version 2.0 2019/06/01 */public class ScoreCalc /* Java成绩成绩 */int java;./* * 计算总成绩计算总成绩 * return total */public int calcTotalScore() int total

26、 = java + c + db;return total;.演示示例演示示例3:添加:添加JavaDoc注释注释 方法的方法的JavaDoc注释注释属性的属性的JavaDoc注释注释类的类的JavaDoc注释注释如何生成如何生成JavaDoc文档文档 JavaDoc能够从源代码中抽取类、属性、方法等的注释,形成一个和配套的API帮助文档 生成JavaDoc文档使用命令行方式生成使用Eclipse工具生成演示示例演示示例4:使用:使用Eclipse生成生成JavaDoc文档文档练习练习添加并生成添加并生成JavaDoc文文档档 需求说明:为我行我素购物系统的Manager类、Menu类添加Ja

27、vaDoc注释使用Eclipse工具,生成两个类的JavaDoc文档完成时间:完成时间:15分钟分钟总结总结定义类的方法的步骤是什么?类的一个方法如何调用本类的另一个方法?类中的一个方法如何调用另一个类的方法?成员变量和局部变量的区别有哪些?如何给类的方法添加JavaDoc注释? Java程序设计创建类Welcome添加一个方法sayHello(),提示输入姓名,然后输出“ ,欢迎你!”添加JavaDoc注释/* * 欢迎类欢迎类 * author name */public class Welcome /* * 向用户问好向用户问好 */public void sayHello()Scann

28、er input = new Scanner(System.in);System.out.print(你叫什么?你叫什么?);String name = input.next();System.out.println(name + , 你好!你好!);课程内容回顾课程内容回顾参考代码参考代码难点突破难点突破二重循环结构类和对象之间的差异方法定义方法的返回值作业讲评作业讲评教员备课时完善知识梳理:二重循环结构知识梳理:二重循环结构二重循环结构循环结构:while、do-while、for、foreach可以任意层次嵌套各种循环结构可以相互嵌套二重循环结构中使用跳转语句continue:继续本层下

29、一轮循环break:跳出本层循环知识梳理:类和对象入门知识梳理:类和对象入门2-1类和对象类和对象及其关系类的封装定义类创建和使用对象OO的优点无参方法定义方法调用方法成员变量和局部变量面向对象编程思维知识梳理:类和对象入门知识梳理:类和对象入门2-2带参方法定义方法指定形参调用方法指定实参基本数据类型和引用数据类型的参数区别字符串类String类StringBuffer类综合练习:人机猜拳综合练习:人机猜拳 任务完成人机猜拳互动游戏的开发 主要功能 选取对战角色猜拳记录分数阶段1:练习分析业务,创建用户类 完成时间:完成时间:15分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明

30、分析业务分析业务抽象出类、类的特征和行为抽象出类、类的特征和行为阶段1:练习分析业务,创建用户类 完成时间:完成时间:15分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明创建用户类创建用户类编写程序入口类编写程序入口类阶段2:练习创建计算机类 完成时间:完成时间:15分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明创建计算机类创建计算机类Computer。实现计算机出拳。实现计算机出拳阶段3:练习创建游戏类,选择对战对手 完成时间:完成时间:20分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明创建游戏类创建游戏类Game编写游戏类的初始化方法编写游戏类

31、的初始化方法initial()编写游戏类的开始游戏方法编写游戏类的开始游戏方法startGame()阶段4:练习实现一局对战 完成时间:完成时间:25分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明分别调用用户类和计算机类的出拳方法分别调用用户类和计算机类的出拳方法showFist(),接受返回值并比较,给出胜负结果接受返回值并比较,给出胜负结果阶段5:练习实现循环对战,并累计得分 完成时间:完成时间:20分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明实现循环对战,并且累加赢家的得分实现循环对战,并且累加赢家的得分阶段6:练习显示对战结果 完成时间:完成时间:25

32、分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明游戏结束后,显示对战结果游戏结束后,显示对战结果阶段7:练习完善游戏类的startGame() 完成时间:完成时间:20分钟分钟综合练习:人机猜拳综合练习:人机猜拳 需求说明需求说明输入并保存用户姓名,游戏输入并保存用户姓名,游戏结束后显示双方的各自得分结束后显示双方的各自得分总结总结Java提供了哪四种循环结构?提供了哪四种循环结构?break和和continue在二重循环的中跳转规则在二重循环的中跳转规则是什么?是什么?类与对象的关系是什么?类与对象的关系是什么?成员变量和局部变量的区别有哪些?成员变量和局部变量的区别有哪些?J

33、ava程序设计写出如下代码的运行结果public static void main(String args) for (int i = 0; i 6; i+) System.out.print(i + ,);while (+i 5) continue;System.out.print(i); 0,5 预习检查预习检查调用带参方法时,有哪些注意事项?为什么需要包?本章任务本章任务实现客户信息的添加和查询实现图形生成器实现模拟账户存取款功能本章目标本章目标会定义带参方法会使用带参方法会创建包组织Java工程为什么要用带参数的方法为什么要用带参数的方法工作原理新鲜桃汁新鲜桃汁新鲜苹果汁新鲜苹果汁新鲜

34、梨汁新鲜梨汁输输出出三三种种果果汁汁如何使用带参数的方法如何使用带参数的方法3-1定义带参数的方法调用带参数的方法public class 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);参数列

35、表:参数列表:(数据类型数据类型 参数参数1,数据类型数据类型 参数参数2)调用方法,传递的参数要调用方法,传递的参数要与参数列表一一对应与参数列表一一对应如何使用带参数的方法如何使用带参数的方法3-2 返回类型返回类型 () /方法的主体方法的主体该方法允许被访问调用该方法允许被访问调用的权限范围的权限范围方法返回值的方法返回值的类型类型public class StudentsBiz String names = new String30; public void addName(String name)/增加学生姓名增加学生姓名public void showNames ()/显示全部学

36、生姓名显示全部学生姓名传送给方法的形参列表传送给方法的形参列表一个形式参数一个形式参数没有返回值没有返回值如何使用带参数的方法如何使用带参数的方法3-3public static void main(String args) StudentsBiz st = new StudentsBiz(); Scanner input = new Scanner(System.in); for(int i=0;i5;i+) System.out.print(请输入学生姓名:请输入学生姓名:); String newName = input.next(); st.addName(newName); st.s

37、howNames(); 实参的类型、数量、顺序实参的类型、数量、顺序都要与形参一一对应都要与形参一一对应先实例化对象,先实例化对象,再使用方法再使用方法演示示例演示示例1:带一个参数的方法:带一个参数的方法调用带参数的方法调用带参数的方法对象名对象名.方法名实参方法名实参1, 实参实参2,,实参,实参n)实参列表实参列表指导指导实现客户姓名添加和显示实现客户姓名添加和显示训练要点:带参方法的定义带参方法的调用 需求说明:创建客户业务类,实现客户姓名的添加和显示 实现思路:1、创建CustomerBiz类2、创建带参方法addName()3、创建方法showNames()4、创建测试类难点指导:

38、创建无返回值的带参方法讲解需求说明讲解需求说明完成时间:完成时间:25分钟分钟练习练习查找客户姓名查找客户姓名需求说明:根据需要,查找客户姓名,给出查找结果 完成时间:完成时间:20分钟分钟提示:定义带参带返回值的方法提示:定义带参带返回值的方法public boolean search(String name) 可以设计一个方法来实现,通过传递两个参数需要修改的姓名、新姓名来实现 带两个参数的方法带两个参数的方法2-11、修改学生姓名,输入新、旧姓名,进行、修改学生姓名,输入新、旧姓名,进行修改并显示是否修改成功修改并显示是否修改成功 public class StudentsBiz Str

39、ing names = new String30; public boolean editName (String oldName,String newName) boolean find = false; / 是否找到并修改成功标识是否找到并修改成功标识 / 循环数组,找到姓名为循环数组,找到姓名为oldName的元素,修改为的元素,修改为newName for(int i=0;inames.length;i+) if(namesi.equals(oldName) namesi = newName; find=true; break; return find; 返回值类型返回值类型带有两个形

40、参带有两个形参返回结果:返回结果:boolean类型类型带两个参数的方法带两个参数的方法2-2 public class TestModify public static void main(String args) System.out.print(n请输入要修改的学生姓名:请输入要修改的学生姓名:); String oldname = input.next(); System.out.print(n请输入新的学生姓名:请输入新的学生姓名:); String newname = input.next(); System.out.println(n*修改结果修改结果*); if( st.edi

41、tName(oldname, newname) ) System.out.println(找到并修改成功!找到并修改成功!); else System.out.println(没找到该学生!没找到该学生!); st.showNames(); 根据返回值进行根据返回值进行处理处理传递两个实参传递两个实参演示示例演示示例2:带两个参数的方法:带两个参数的方法设计方法,通过传递三个参数开始位置、结束位置,查找的姓名来实现 带多个参数的方法带多个参数的方法2-12、指定查找区间,查找学生姓名并显示是、指定查找区间,查找学生姓名并显示是否修改成功否修改成功 public boolean searchNa

42、me (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演示示例演示示例3:带多个参数的方法:带多个参数的方法if(st.searchName(s,e,name)System.ou

43、t.println(找到了!找到了!);elseSystem.out.println(没找到该学生!没找到该学生!);传递三个实参传递三个实参/方法定义方法定义public void addName(String name) /方法体方法体/方法调用方法调用对象名对象名.addName(String 张三张三);调用方法时不能指定实参类型!调用方法时不能指定实参类型!常见错误常见错误4-1对象名对象名.addName(张三张三);/方法定义方法定义public boolean searchName(int start ,int end ,String name)/方法体方法体/方法调用方法调用

44、String s=开场开场;int e=3;String name=张三张三;boolean flag=对象名对象名. searchName(s ,e ,name);形参和实参数据类型不一致!形参和实参数据类型不一致!常见错误常见错误4-2/方法定义方法定义public boolean searchName(int start,int end,String name)/方法体方法体/方法调用方法调用int s=1;int e=3;boolean flag= 对象名对象名.searchName(s,e);形参和实参数量不一致!形参和实参数量不一致!常见错误常见错误4-3/方法定义方法定义publ

45、ic boolean searchName(int start,int end,String name)/方法体方法体/方法调用方法调用int s=1;int e=3;String name=张三张三;对象名对象名.searchName(s,e,name);调用方法后没有对返回值作任何处理!调用方法后没有对返回值作任何处理!常见错误常见错误4-4练习练习实现图形生成器实现图形生成器需求说明:根据指定不同的行以及字符,生成不同的三角形完成时间:完成时间:20分钟分钟为什么需要包为什么需要包生活案例 文档分门别类,易于查找文档分门别类,易于查找 不同内容的文档可以放在不同的不同内容的文档可以放在不

46、同的 袋子中,拥有相同的名字,避免冲突袋子中,拥有相同的名字,避免冲突 易于管理易于管理 为什么需要包为什么需要包树形文件系统树形文件系统使用目录解决文件同名冲突问题使用目录解决文件同名冲突问题如何存放两个同名的类而不冲突?如何存放两个同名的类而不冲突?Sort.java 插入排序插入排序 Sort.java 冒泡排序冒泡排序 包包包解决类的同名问题允许类组成较小的单元类似允许类组成较小的单元类似文件夹),易于找到和使用相文件夹),易于找到和使用相应的文件应的文件 防止命名冲突防止命名冲突 更好的保护类、属更好的保护类、属性和方法性和方法 A.java包包如何创建包如何创建包package c

47、n.jbit.classandobject; /声明包public class AccpSchool / public String toString() / 包名包名 使用使用package声明包,声明包,以分号结尾以分号结尾如果有包的声明,一定如果有包的声明,一定作为作为Java源代码的第一条源代码的第一条语句语句 包命名规范包命名规范包名由小写字母组成,不能以圆点开头或结尾包名之前最好加上唯一的前缀,通常使用组织倒置的网络域名。如:域名javagroup 包名后续部分依不同机构内部的规范不同而不同 package mypackage;package net.javagroup.mypac

48、kage;package net.javagroup.research.powerproject; 部门名部门名 项目名项目名 package .mypackage; 用用Eclipse 创建包创建包使用Eclipse创建包的两种方法:分别创建包和类:创建项目创建包创建类创建类的过程中创建类所在的包创建项目创建包和类演示示例演示示例4:使用:使用Eclipse创建包和类创建包和类 包与目录的关系包与目录的关系创建好的包和Java源文件是如何存储的?创建包cn.jbit.classandobject ,即创建了目录结构:cnjbitclassandobject cnjbitclassandobj

49、ectAccpSchool.javaHelloAccp.java如何导入包如何导入包为了使用不在同一包中的类,需要在Java程序中使用import关键字导入这个类import java.util.*; /导入导入java.util包中所有类包中所有类import cn.jbit.classandobject.AccpSchool; /导入指定包中指定类导入指定包中指定类 关键字关键字import并不陌生并不陌生 import 包名包名. 类名;类名;1、系统包:、系统包:java.util2、自定义包:、自定义包:cn.jbit.classandobject*: 指包中的所有类指包中的所有类A

50、ccpSchool :指包中的:指包中的AccpSchool类类小结小结 AccpSchool.java位于cn.jbit.classandobject包中,HelloAccp.java位于demo包中,下面程序空缺部分需要填入代码吗?如果需要,是什么? /添加代码添加代码2/添加代码添加代码3public class HelloAccp public static void main(String args)AccpSchool center = new AccpSchool(); center.showMessage(); /添加代码添加代码1public class AccpSchool

51、 public void showMessage() System.out.println(“这是上这是上海海Accp中心。中心。); package cn.jbit.classandobject;package demo; import cn.jbit.classandobject.*;声明包的含义:声明包的含义:声明当前类所处的位置声明当前类所处的位置导入包的含义:导入包的含义:声明在当前类中要使用到的声明在当前类中要使用到的别的类所处的位置别的类所处的位置练习练习模拟账户查询,实现存模拟账户查询,实现存取款取款需求说明:模拟银行账户业务,进行余额查询,实现存款和取款完成时间:完成时间:2

52、0分钟分钟总结总结形式参数和实际参数有什么区别?调用带参方法是有哪些注意事项?如何声明包?如何导入包?包与存储Java源文件的目录结构关系是什么?Java程序设计/方法定义方法定义public void addName(name) /方法体方法体/方法调用方法调用int n = 对象名对象名.addName(张三张三);纠正代码中的错误,输出“早上好!”包package的作用有哪些?必须指定形参类型必须指定形参类型回顾与作业点评回顾与作业点评方法没有返回值方法没有返回值预习检查预习检查基本数据类型和引用数据类型作为方法参数,在传递时有什么不同之处?本章任务本章任务实现MyShopping系统增

53、加会员功能实现MyShopping系统会员积分功能本章目标本章目标会使用数组作为方法的参数和返回值会使用对象作为方法的参数使用Arrays类提供的sort()方法实现定义一个独立的方法来实现姓名排序,该方法的返回值为数组类型数组类型的方法返回值数组类型的方法返回值2-11、编写方法,实现学生的姓名排序、编写方法,实现学生的姓名排序 public class StudentsBiz String names = new String5; / 学生姓名数组学生姓名数组public void inputNames()/接收用户输入的接收用户输入的5个学生姓名,存放于个学生姓名,存放于names中中/

54、字符串数组作为返回值字符串数组作为返回值public String getNames()Arrays.sort(names);return names;返回字符串数组返回字符串数组public class TestSort public static void main(String args) StudentsBiz st = new StudentsBiz();st.inputNames();String namesbysort =st.getNames();System.out.println(*排序后排序后*);for(int i =0;i namesbysort.length;i+)

55、if(namesbysort i!=null) System.out.print(namesbysort i+t);数组类型的方法返回值数组类型的方法返回值2-2演示示例演示示例1:数组类型的方法返回值:数组类型的方法返回值调用方法,返回结果调用方法,返回结果处理返回结果处理返回结果定义学生类,添加属性:三门课的成绩 定义学生成绩计算类,添加方法,传递对象参数 定义测试类对象类型的参数对象类型的参数3-12、编写学生成绩计算类,计算学生平均分、编写学生成绩计算类,计算学生平均分 public class Students /定义三门课成绩属性定义三门课成绩属性float java=0;floa

56、t database=0;float html=0;三门课成绩三门课成绩public class Score /计算平均分,对象作为参数计算平均分,对象作为参数public float getAvg(Students stu)float avg=0;avg=(stu.java +stu.database +stu.html )/3;return avg;对象类型的参数对象类型的参数3-2返回结果返回结果对象类型的参数对象类型的参数public class TestScore public static void main(String args) Students stu=new Students();Score sc=new Score();float avg=0;stu.java=80;stu.database=95;stu.html=77;avg=sc.getAvg(stu);System.out.println(该学生的平均分为:该学生的平均分为:+avg);调用方法,传递参调用方法,传递参数,返回结果数

温馨提示

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

评论

0/150

提交评论