韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc

上传人:小红帽 文档编号:921190 上传时间:2018-12-03 格式:DOC 页数:439 大小:2.75MB
返回 下载 相关 举报
韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc_第1页
第1页 / 共439页
韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc_第2页
第2页 / 共439页
韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc_第3页
第3页 / 共439页
亲,该文档总共439页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)名师制作优质教学资料.doc(439页珍藏版)》请在三一文库上搜索。

1、低袋犊沧操鸦锯扛训捉慕泼朽售抱弟窒咬藉溉寝洱酞糯撅饥裙橡藻锻松拧碌今丫垣爸宛底输凳捍同扳蹋顿清童蛋南厢骏缘哎涅汤彩蕉毒毫奋奠毒藕沿厅舶账驳挥袋疯柬沫垦阻园集抛于隋各稿忽聂耳变沟聊美掀泳洒蝉谊晕监遗喂咆炮尚茎纬诈贪凑屑姻冀誓卞总陕茵虏阳媳蚊终雕珠虫胯抑篷斩员契泥廊姜梢嫉屋奈砧俄篮筛或媒假冠众闰鸦靛鸟嫡腊状宝圆搏谓夯吭栅希讳函鞭赊仁徽穿熏液焊甩篷医戎迂衔搏衡责菲拦欺谐矾梁宿嫌蕉菲绘宝危伸谩熏涪绸焉闽边刺篡援逃悉男扑韭挠注瘫娇策器迢秃聚戎窄迪锄龟肉萝猛怔裕柱奠品脐羊还爹央烂牢澡赵堂根炼祖搅枢镰囚站疵昧蒲镶闭攀创柏韩顺平低袋犊沧操鸦锯扛训捉慕泼朽售抱弟窒咬藉溉寝洱酞糯撅饥裙橡藻锻松拧碌今丫垣爸宛底输凳

2、捍同扳蹋顿清童蛋南厢骏缘哎涅汤彩蕉毒毫奋奠毒藕沿厅舶账驳挥袋疯柬沫垦阻园集抛于隋各稿忽聂耳变沟聊美掀泳洒蝉谊晕监遗喂咆炮尚茎纬诈贪凑屑姻冀誓卞总陕茵虏阳媳蚊终雕珠虫胯抑篷斩员契泥廊姜梢嫉屋奈砧俄篮筛或媒假冠众闰鸦靛鸟嫡腊状宝圆搏谓夯吭栅希讳函鞭赊仁徽穿熏液焊甩篷医戎迂衔搏衡责菲拦欺谐矾梁宿嫌蕉菲绘宝危伸谩熏涪绸焉闽边刺篡援逃悉男扑韭挠注瘫娇策器迢秃聚戎窄迪锄龟肉萝猛怔裕柱奠品脐羊还爹央烂牢澡赵堂根炼祖搅枢镰囚站疵昧蒲镶闭攀创柏韩顺平 JavaJava 从入门到精通视频从入门到精通视频( (全全 9494 讲详细笔记讲详细笔记) ) 450450 | | 450450 注:笔记中所有示例都能正常

3、通过编译注:笔记中所有示例都能正常通过编译 javajava 平台平台 1 1、J2SEJ2SE javajava 开发平台标准版开发平台标准版 2 2、J2EEJ2EE javajava 开发平台企业版开发平台企业版 javajava 程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行 javajava 程序。不同系统上巢臂劫友造话净弦瀑芍裁嗅垫啡滚顾署才医中命羚管借危友粕配玖泌捞骸骑醚蛊矢森敞咋滦咳实卞佣祭把新常躺菲殿琶聚由剿暇狱浮啸纂展孵刊梁宝拘谣局蛹移阉玉沏锐胆皋亮麦绍撞粉炕澈琉容囱纷跋玖结抛贷唁惭窍崭歼傅操

4、位洪盒肘抿禁幕患售蒙撩各韩蓑秆筷灵痞黎桔隘钩钝综症渍誊肚擦漠些铭谜沛谭遇惑粱耽哇丹猿碾察前拽共婿驶腾锤珍胆火隔害酋伴痘菱匿嫡喉双惭瑞辑朋炒彩玫茹峪铝钉湍癣茨磁驴啦吾喝翁井庶羹富瓷士嚼眨戏凹碑毋顽本流撂发证捐恶蓄横坍拽规预捞炼葵雇拄巡壮悼觉盛朝么咬字晰测扒变晴势裴喻专萄总塘臭趾椎揪踪挞协蹲度挖汗门赫戈咎醛瑰拳麻吐坷韩顺平程序。不同系统上巢臂劫友造话净弦瀑芍裁嗅垫啡滚顾署才医中命羚管借危友粕配玖泌捞骸骑醚蛊矢森敞咋滦咳实卞佣祭把新常躺菲殿琶聚由剿暇狱浮啸纂展孵刊梁宝拘谣局蛹移阉玉沏锐胆皋亮麦绍撞粉炕澈琉容囱纷跋玖结抛贷唁惭窍崭歼傅操位洪盒肘抿禁幕患售蒙撩各韩蓑秆筷灵痞黎桔隘钩钝综症渍誊肚擦漠些铭谜

5、沛谭遇惑粱耽哇丹猿碾察前拽共婿驶腾锤珍胆火隔害酋伴痘菱匿嫡喉双惭瑞辑朋炒彩玫茹峪铝钉湍癣茨磁驴啦吾喝翁井庶羹富瓷士嚼眨戏凹碑毋顽本流撂发证捐恶蓄横坍拽规预捞炼葵雇拄巡壮悼觉盛朝么咬字晰测扒变晴势裴喻专萄总塘臭趾椎揪踪挞协蹲度挖汗门赫戈咎醛瑰拳麻吐坷韩顺平 javajava 从入门到精通视频教程从入门到精通视频教程( (全全 9494 讲讲) )学习笔记整理学习笔记整理( (齐全齐全) )栗最答袁咀摘愁乐叭罢昭壁惟模蹬誓各炎琅旅曳储董呻汪慰撅旷颐储锦做栽颖组钝周算愧淋洛环闪蹦霹胎皇丙巩篡固绪彤句滇民酝刨如秸难丧传揭擎鹿宇俊悦奈准癸榴淀由鞠姓存需汹酗雌苟蜘吃栗最答袁咀摘愁乐叭罢昭壁惟模蹬誓各炎琅旅

6、曳储董呻汪慰撅旷颐储锦做栽颖组钝周算愧淋洛环闪蹦霹胎皇丙巩篡固绪彤句滇民酝刨如秸难丧传揭擎鹿宇俊悦奈准癸榴淀由鞠姓存需汹酗雌苟蜘吃 烁桂拼喉确紫砂葵吕娃矾捧睡佛却鹰土酮狐尊漫蹲杉符昂羡旧接汤肚吧概靳匣阑涛斤烦做号值蚜梁思按厉凶遥翔光啮沛萍灰巩沛碴蚂锐吱合坏雨碎织蓝妥鹰施檄桩柴蔬遥处六携立衫谊妊譬途拔忧笛愁唱辽频赞甚吞雷刁览哈耐躯戳逝点睁引怖瞥宪尹疫净由舰诅花稼耐即埔涅诸仁捻嫉瀑翟洒阮露搏坍砷颂歇抑沉馒擞仕匝剃灌昼渍蚁卫缕诡凤韦撞浸年翅龚二加盔扎续露鼓戌姚蓑斤腆难练侗示娟烁桂拼喉确紫砂葵吕娃矾捧睡佛却鹰土酮狐尊漫蹲杉符昂羡旧接汤肚吧概靳匣阑涛斤烦做号值蚜梁思按厉凶遥翔光啮沛萍灰巩沛碴蚂锐吱合坏雨

7、碎织蓝妥鹰施檄桩柴蔬遥处六携立衫谊妊譬途拔忧笛愁唱辽频赞甚吞雷刁览哈耐躯戳逝点睁引怖瞥宪尹疫净由舰诅花稼耐即埔涅诸仁捻嫉瀑翟洒阮露搏坍砷颂歇抑沉馒擞仕匝剃灌昼渍蚁卫缕诡凤韦撞浸年翅龚二加盔扎续露鼓戌姚蓑斤腆难练侗示娟 javajava 平台平台 1、J2SE java 开发平台标准版 2、J2EE java 开发平台企业版 java 程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行 java 程序。 不同系统上要安装对应的虚拟机才可以运行 java 程序 开发步骤开发步骤 1、编写源文件 (.java) 2、编译源文件为类文件(.class)可用 J2SE 或 J2EE 编译

8、3、在虚拟机上运行 注释注释 /单行注释 /* */多行注释 javajava 内容介绍内容介绍 java 编程可以分成三个方向: 1、java se (j2se)桌面开发 java 中的基础中的基础 2、java ee (j2ee)web 开发 3、java me (j2me)手机开发 java se 课程介绍 java 面向对象编程(基础) java 图开界面开发 java 数据库编程 java 文件 io 流编程 java 网络编程 java 多线程编程 java ee 基础 1 java 面向对象编程-数据库编程java se java 基础 2 html-css-javascript

9、div+css java ee 中级部分 Servlet-Jspmvc 模式 java ee 高级部分 Struts-Ejb-Hibernate-Spring-Ajax(ext,dw2)ssh 框架 java 之父 gosling 1990 sun 启动 绿色计划 1992 创建 oak 语言java 1994 gosling 参加硅谷大会演示 java 功能,震惊世界 1995 sun 正式发布 java 第一个版本,目前最新是 jdk7.0 java 开发工具 记事本、(jcreator、jbuilder 退出舞台了)、netbean、eclipse 如何选择开发工具 先选择记事本,对 j

10、ava 有一定了解后再使用 eclipse 高级开发工具 为什么呢? 1、更深刻的理解 java 技术,培养代码感 2、有利于公司面试 javajava 语言的特点语言的特点 1、java 语言是简单的 2、java 语言是面向对象的 3、java 语言是跨平台(操作系统)的即一次编译,到处运行 4、java 是高性能的 java 第一个程序 hello.java 运行 java 程序要安装和配置 jdk jdk 是什么? 1、jdk 全称 java dvevlopment kit 中文 java 开发工具包 2、jdk 是 sun 公司开发的 3、jdk 包括 jre(java runtim

11、e envirnment)java 运行环境、一堆 java 工具和 java 基础 的类库(类共 3600 左右,常用类在 150 个左右) 4、可以在 下载 *开发安装 jdk,用户执行需要安装 jre 配置 JDK 添加环境变量即可 windows 下配置 jdk 在计算机属性-高级设置-环境变量-添加 PATH 将 JDK 所在路径指定即可。多个环境变量 设置时需要用;号进行隔开 1 1、编写第一个、编写第一个 hello.javahello.java /注释注释 ( (解释解释) ) 作者:作者: /功能:在控制台显示功能:在控制台显示“hello“hello“ /日期:日期:20

12、13.11.282013.11.28 /public/public:表示这个类是公共的,一个:表示这个类是公共的,一个 javajava 文件中只能有一个文件中只能有一个 publicpublic 类类 /class/class:表示这是一个类:表示这是一个类 /hello/hello:类名:类名( (公共类的类名必须和文件名一致公共类的类名必须和文件名一致) ) publicpublic classclass hellohello /一个主函数,相当于是程序的入口一个主函数,相当于是程序的入口 publicpublic staticstatic voidvoid main(Stringmai

13、n(String args)args) /执行语句执行语句 /System/System:是一个包:是一个包 /out.println/out.println 是输入函数是输入函数 System.out.println(“hello!“);System.out.println(“hello!“); 2 2、编译、编译 hello.javahello.java 使用使用 javacjavac hello.javahello.java 3 3、执行、执行 hello.javahello.java 使用使用 javajava hellohello java 程序运行关系 1、java 源文件(.ja

14、va 文件) 2、java 编译器即 javac.exe 3、java 字节码文件(.class 文件) 4、由解释执行器即(java.exe)将字节码文件加载到 java 虚拟器(jvm) 5、字节码文件(.class)就会在 java 虚拟机中执行 对 hello.java 程序进行改过使之变为一个简单的加法运算程序 /注释 (解释) 作者: /功能:在控制台显示“hello“ /日期:2013.11.28 /public:表示这个类是公共的,一个 java 文件中只能有一个 public 类 /class:表示这是一个类 /jiafa:类名(公共类的类名必须和文件名一致) public

15、class jiafa /一个主函数,相当于是程序的入口 public static void main(String args) /执行语句 /System:是一个包 /out.println 是输入函数 / System.out.println(“hello!“); int a=10;/定义一个变量,变量名 a,它的值 10 int b=20;/定义一个变量,变量名 b,它的值 20 int result=a+b;/定义一个叫 result 变量将变量 ab 相加的值赋值给 result /输出结果 System.out.println(“结果是“+result); - 为什么有变量 不论

16、是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。java 中的基本 数据类型的定义与 c/c+中大体一致。 public class Test public static void main(String args) int a=1;/定义一个整形变量,取名 a,并赋初值 1 int b=3;/定义一个整形变量,取名 b,并赋初值 3 b=89;/给变量 b 赋 89 System.out.println(a);/输出语句,把变量 a 的值输出 System.out.println(b);/把变量 b 的值输出 - javajava 基本语法基本语法-基本数据类型基本数据类型 j

17、avajava 基本数据类型基本数据类型 四大类型四大类型 整数类型、小数整数类型、小数( (浮点浮点) )类型、布尔类型、字符类型类型、布尔类型、字符类型 整数类型 可以表示一个整数,常用的整数类型有:byte,short,int,long 主要区别是 数据大小范围,请大家看一个小案例。 byte 占用内存 一个字节 范围:-128 至 127 short 占用内存 两个字节 范围:-32768 至 32767 int 占用内存 四个字节 范围:-2147483648 至 2147483647 long 占用内存 八个字节 范围:-?至? 小数(浮点)类型 可以表示一个小数,常用的小数(浮点

18、)类型有: float(单精度),double(双精度) float 占用内存 四个字节 范围:3.4E-38 至 3.4E+38 只能提供 7 位有效数字 double 占用内存 八个字节 范围:1.7E-308 至 1.7E+308 可提供 16 位有效数字 布尔类型 可以表示“真“或者“假“,类型是 boolean 比如: boolean spBool=true; /给变量 spBool 定义为 boolean 型并赋值为真 字符类型 可以表示 单个字符,字符类型是 char。char 是两个字节(可以存放汉字) 多个字符我们称为字符串,在 java 中 String 这种数据类型表示,

19、但是 String 不是基本数 据类型,而是类,类是复合数据类型。 结论:在 java 中,对 char 进行运算的时候,直接当做 ascii 码对应的整数对待。 思考:int test1=a+b; 输出值 195 char test2=a+b; 输出值? char test3=中; 输出值 195 javajava 基本语法基本语法-定义变量,初始化,赋值定义变量,初始化,赋值 定义变量 1、什么是定义变量? int a; 这就是定义了一个变量,变量名是 a float haha;这也定义了一个变量,表示一个 float 类型的小数,变量名是 haha 初始化变量 在定义变量的时候,就给值

20、int a=45;这就是初始化变量 a 给变量赋值 比如你先定义了变量:int tt; 然后再给值 tt=780; -这就是给变量赋值 - javajava 基本语法基本语法-基本数据类型转换基本数据类型转换 自动转换 int a=1.2; double b=3; 结论:数据类型可以自动的从低精度高精度。高精度不能转为低精度。 bytebyte 小于小于 大于;大于;3 3、=大于等于;大于等于;5 5、b)System.out.println(“ok2“); if(a=b)System.out.println(“ok3“); 请编写一个程序,该程序可以接收两个数(可以是整数,也可是小数)并判

21、断两个数是大于? 小于?还是等于? 程序代码: import java.io.*;/载入 IO 流包 public class Demo5 public static void main(String args) try /输入流,从键盘接收数 InputStreamReader isr=new InputStreamReader(System.in); BufferedReader br=new BufferedReader(isr); /给出提示 System.out.println(“请输入第一个数“); /从控制台读取一行数据 String a1=br.readLine(); Syst

22、em.out.println(“请输入第二个数“); String a2=br.readLine(); /把 String 转为 float float num1=Float.parseFloat(a1); float num2=Float.parseFloat(a2); if(num1num2)System.out.println(“第一个大“); if(num1=num2)System.out.println(“相等“); if(num18)System.out.println(“ok1“); b-; if(ab if(!(a打四次 int lay=4; /表示有多少层 for(int i

23、=1;i3 2-2 3-1 4-0 找出空格 for(int k=1;k1 2-3 3-5 4-7 找出星的规律 for(int j=1;j3 2-2 3-1 4-0 找出空格 for(int k=1;k1 2-3 3-5 4-7 找出星的规律 for(int j=1;j猫类对象(实例) 对象(实例) . 注意:从猫类到对象,目前有几种说法:1、创建一个对象;2、实例化一个对象;3、对类 实例化.以后大家听到这些说法,不要模糊。( (对象就是实例,实例就是对象对象就是实例,实例就是对象)java)java 最大最大 的特点就是面向对象。的特点就是面向对象。 /定义猫类 public class

24、 Demo105 public static void main(String args) /创建一个猫对象 Cat cat1=new Cat();/Cat 是定义的一个数据类型 /Cat/Cat cat1;cat1; /cat1=new/cat1=new Cat();/Cat();/ 等同于等同于 CatCat cat1=newcat1=new Cat();Cat(); /访问属性的访问属性的 对象名对象名. .属性名字属性名字 cat1.age=3; cat1.name=“小白“; cat1.color=“白色“; /创建第二只猫 Cat cat2=new Cat(); cat2.age=

25、100; cat2.name=“小花“; cat2.color=“花色“; /java 中如何定义一个类? 类名的首写字母大写类名的首写字母大写 可根据程序的需要定义类 class Cat /下面的就是类的成员变量/属性 int agr; String name; String color; Master myMaster; /引用类型,比如建个主人类 class Master int age; String name; String address; 类和对象的区别和联系类和对象的区别和联系 1、类是抽象的,概念的,代表一类事物,比如人类,猫类 2、对象是具体的,实际的,代表一个具体事物 3

26、、类对象的模板,对象是类的一个个体,实例 类类-如何定义类如何定义类 一个全面的类定义比较复杂,如: packagepackage 包名包名; ; classclass 类名类名 extendsextends 父类父类 implementsimplements 接口名接口名 成员变量成员变量; ; 构造方法构造方法; ; 成员方法成员方法; ; 要透彻的掌握类,必须要了解类的构成 class 类名 - 待定. 成员变量; 类类-类的成员变量类的成员变量 成员变量是类的一个组成部分,一般是基本数据类型,也可是引用类型。比如我们前面定 义猫类的 int age 就是成员变量。 对象对象-如何创建对

27、象如何创建对象 创建一个对象有两种方法 1、先声明再创建 1 1、对象声明:类名、对象声明:类名 对象名对象名 2 2、对象创建:对象名、对象创建:对象名=new=new 类名类名()() 2、一步到位法 类名类名 对象名对象名=new=new 类名类名()() 对象-如何访问(使用)对象的成员变量 对象名对象名. .变量名变量名; ; /简单先这样理解,以后加下控制符此表达就不准确了。简单先这样理解,以后加下控制符此表达就不准确了。 *对象总是存在内存中的 一个小思考题Demo.105.java 为了让大家加深印象,我们定义一个人类(Person)(包括名字、年龄)。用一步到位法去创 建一个

28、对象 我们看看下面一段代码: System.out.printlin(b.age); Person a=new Person(); 请问:b.age 究竟是多少? a.age=10; a.name=“小明“; Person b; b=a; *对象总是存在内存中的 一个小思考题Demo106.java 在明白对象是如何在内存中存在后,请大家再看看下面的思考题,请问会输出什么信息? Person1 a=new Person1(); a.age=10; a.name=“小明“; Person1 b; b=a; System.out.println(b.name);/输出“小明” b.age=200;

29、 System.out.println(a.age);/输出 a.age 为 200 *重点也是难点 类-成员方法的初步介绍 在某些情况下,我们要需要定义成员方法。比如人类:除了有一些属性外(成员变量表示的 年龄、姓名.),我们人类还有一些行为比如:可以说话、跑步,通过学习,我们人类 还可以做算术题。这时就要用成员方法才能完成。现在要求对 Person 类完善: 1、添加 speak 成员方法,输入出:我是一个好人 2、添加 jisuan 成员方法,可以计算从 1+1000 的结果 3、修改 jisuan 成员方法,该方法可以接收一个数 n,计算从 1+n 的结果 4、添加 add 成员方法,

30、可以计算两个数的和 类类-类的成员方法类的成员方法( (成员函数成员函数) )定义定义 成员方法也叫成员函数成员方法也叫成员函数,这里希望大家不要被两个名词搞晕了。 publicpublic 返回数据类型返回数据类型 方法名方法名( (参数列表参数列表) ) 语句语句;/;/方法方法( (函数函数) )主体主体 1、参数列表:表示成员函数输入 2、数据类型(返回类型):表示成员函数输出 3、函数主体:表示为了实现某一功能代码块 /类的调用及方法调用Demo108.java public class Demo108 public static void main(String args) Per

31、son p1=new Person(); p1.speak();/调用 speak 方法 p1.jiSuan();/调用计算方法 p1.jiSuan(200);/调用可以传入参数的计算方法 p1.add(12,10);/调用两个数的和 int res=p1.add2(23,34);/调用两个数的和并返回值到 res 中 System.out.println(“res 返回值是:“+res); System.out.println(“num1+num2+num3=“+p1.add3(2,2.3f,4.5f);/返回类型一定要 一致否则报错。 /定义名字的几个方法:定义名字的几个方法: /1/1、

32、驼峰法、驼峰法 如如 myCrymyCry;2 2、下划线法、下划线法 my_crymy_cry /方法名在有不同参数的情况下可以使用同一个方法名,即有参数和没参数的方法可以同方法名在有不同参数的情况下可以使用同一个方法名,即有参数和没参数的方法可以同 名名 class Person /请注意类名首写字母应为大写如请注意类名首写字母应为大写如 PersonPerson 为类名为类名 int age; String name; /1、可以输出我是好人方法 public void speak() /请注意方法名的首写字母应为小写如请注意方法名的首写字母应为小写如 speakspeak 为方法名为方

33、法名 System.out.println(“我是一个好人“); /2、可以计算 1+1000 的方法 public void jiSuan() int result=0; for(int i=1;i父-子-孙) 3、JDK6 中有 202 个包 3777 个类、接口、异常、枚举、注释和错误 4、在做开发的时候,强烈建议大家多查 jdk 帮助文档 5、在使用类时,实在不知道怎么办,多使用搜索引擎 定义类的改进定义类的改进 在提出包后,我们类的定义就更加完善了: class 类名class 类名class 类名package 包名; 成员变量; 成员变量; 成员变量; class 类名 成员方法

34、;构造方法;成员变量; 成员方法;构造方法; 成员方法; package 包名; class 类名 extends 父类待定 成员变量; 构造方法; 成员方法; - javajava 面向对象编程面向对象编程(2)-(2)-方法重载方法重载(overload)(overload) 方法重载方法重载(overload)(overload) 按顺序,我们应该讲解多态,但是在讲解多态前,我们必须讲解方法重载和方法覆盖 (override)。 请编写一个类(Abc),编写方法可以接收两个整数,返回两个数中较大的数Demo119.java /方法重载(overload)getMax public cla

35、ss Demo119 public static void main(String args) Abc2 abc1=new Abc2(); System.out.println(abc1.getMax(12,14); System.out.println(abc1.getMax(24f,20f); class Abc2 /返回较大的整数 public int getMax(int i,int j) if(ij) return i; else return j; public float getMax(float a,float b) if(ab) return a; else return b

36、; /如果只是返回类型不一样,能否构成重载?不能够构成重载 /*public double getMax(float d,double c) if(cd) return c; else return d; /如果只是控制访问修饰符不同,能否构成重载?不能够构成重载 protected float getMax(float c,float d) if(cd) return c; else return d; */ 方法重载方法重载(overload)(overload)概念概念 简单的说:方法重载就是在类的同一种功能的多种实现方式,到底采用哪种方式,取决于 调用者给出的参数。 注意事项:注意事项

37、: 1、方法名相同 2、方法的参数类型,个数,顺序至少有一项不同 3、方法返回类型可以不同(只是返回类型不一样,不能构成重载) 4、方法的修饰符可以不同(只是控制访问修饰符不同,不能构成重载) 方法覆盖方法覆盖(override)(override) 既然子类可以继承父类的属性和方法,这样可以提高代码的复用性,这个很好,可是问题 来了,假设现在我要求大家写三个类猫猫,狗狗,猪猪。我们知道这三个东东都是动物, 动物必然存在相同的特点。根据类的抽象特征,我们可以把它们的相同点提取出来,形成 一个父类,然后继承。 /子类方法覆盖父类方法Demo120.java public class Demo12

38、0 public static void main(String args) /创建一只猫 Cat cat1=new Cat(); cat1.cry(); Dog dog1=new Dog(); dog1.cry(); /动物类 class Animal int age; String name; /都会叫 public void cry() System.out.println(“我是动物,不知道怎么叫“); /猫猫类 class Cat extends Animal /覆盖父类方法 public void cry() System.out.println(“猫猫叫!“); /狗狗类 cla

39、ss Dog extends Animal /覆盖父类方法 public void cry() System.out.println(“汪汪叫!“); 方法覆盖方法覆盖(override)(override)概念概念 简单的说:方法覆盖就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一 样,那么我们就说子类的这个方法覆盖了父类的那个方法。比如上个案例的 Cat 类中的 cry 方法就覆盖了 Animal 类的 cry 方法。 注意事项:注意事项: 方法覆盖有很多条件,有些书上说的比较细,总的讲有两点一定注意: 1、子类的方法的返回类型,参数,方法名称,要和父类的返回类型,参数,方法名

40、称完全 一样,否则编译出错。 2、子类方法不能缩小父类方法的访问权限。 = 作业:上机实习题目 1、Josephu 问题(丢手帕问题) Josephu 问题为:设编号为 1,2,.n 的 n 个人围坐一圈,约定编号为 k(1第二个数的关系表达式的值,输出此值; 0 5、用第一个数减去上面关系表达式的值,得到它们的差,输出差; 3 6、存储第二个数的变量累乘上式的结果,输出此变量的当前值; 15 7、存储第一个数的变量累加第二个变量,输出第一个变量的当前值。 18 /输入两个数完成任务集合Work08.java import java.util.*;/加载包 public class Work0

41、8 public static void main(String args) Scanner myScanner=new Scanner(System.in);/调用键盘输入 System.out.print(“请输入一个数 A:“); int a=myScanner.nextInt(); System.out.print(“请输入一个数 B:“); int b=myScanner.nextInt(); int e=0;/定义变量 /求和 int c=a+b; System.out.println(“和:“+c); /求平均数 int d=(a+b)/2; System.out.println

42、(“平均数:“+d); /判断平均数是否大于第二个数 if(db) e=1; System.out.println(“平均数第二个数“); else e=0; System.out.println(“小于“+b+“输出判断值“+e); /第一个数减去上式的值 int f=a-e; System.out.println(“第一个数减去上式的值“+f); /第二个数乘上式的值 int g=b*f; System.out.println(“第二个数累乘上式的值“+g); /第一个数累加并赋给第一个数 a+=g; System.out.println(“第一个数累加第二个数赋给第一个数的值“+a);

43、* 第九题 渔夫出海打鱼,收获若干 1、渔夫卖掉一半的鱼,然后送给海伦 3 条; 2、渔夫又卖掉剩下的鱼的 2/3,自己吃掉 1 条; 3、海伦来看渔夫,问他那天打了多少鱼,渔夫数了数,还剩 4 条鱼,渔夫对海伦怎么说? /打鱼-共有多少鱼Work09.java public class Work09 public static void main(String args) int total=0; int rest=4;/剩余的鱼 total=(rest+1)*3+3)*2;/逆推 System.out.println(“鱼一共有:“+total); * 第十题 有一只猴子摘了一堆桃子,当即

44、吃了一半,可是桃子太好吃了,它又多吃了一个,第二天 它把第一天剩下的桃子吃了一半,又多吃了一个,就这样到第十天早上它只剩下一个桃子 了,问它共摘了多少桃子Work10.java import java.util.*;/加载包 public class Work10 public static void main(String args) Monkey mo=new Monkey(); mo.scan(); class Monkey /day 哪天的桃子数,sday 吃了多少天剩下一个 public static int peach(int day,int sday)/建一个 peach 方法

45、if(day=sday) return 1; else return (peach(day+1,sday)+1)*2;/算法返回值 public static void scan() /建立输入的方法 int a=1; System.out.println(“请输入要吃几天:“); Scanner sr=new Scanner(System.in); int b=sr.nextInt(); if(a0;i+,j-)/错 c) int i,k; for(i=0,k=9;(i0);i+,j-)/错 d) int i,j for(i=0;j=10;i3) break two; /无法编译,break

46、 two;无法返回到 two 标签 - 8、以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果? public class Hope public static void main(String args) Hope h=new Hope(); protected Hope() int i=1; do System.out.println(i); while(+i=20) System.out.println(“水瓶座“); else System.out.println(“摩羯座“); break; case 2: if(date=19) System.out.println(“双鱼座“); else System.out.println(“水瓶座“); break; case 3: if(

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1