JAVA程序设计——教案(一)ppt课件.ppt_第1页
JAVA程序设计——教案(一)ppt课件.ppt_第2页
JAVA程序设计——教案(一)ppt课件.ppt_第3页
JAVA程序设计——教案(一)ppt课件.ppt_第4页
JAVA程序设计——教案(一)ppt课件.ppt_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

1、JAVA程序设计教案(一),HPU CST 吴正江 配套教材: 张化祥JAVA语言基础教程清华大学出版社2007,1,第1章,Welcome Java!,2,1. 几点要求 2. Java的历史与语言结构 3. Java的安装 4. Java语言基础,本节课内容,3,1. 请假以凭证为准,无凭证视为缺勤 2. 上课需要保持安静 3. 课程内容较多,下面自己做练习 4. 平时分以实验及点名为准,占40%,1.1 课堂要求,4,编程是一门技术,需要多实践; 编程是一门功夫,需要勤练内功; 注重代码编写规范; 注重相互交流,充分利用网络资源辅助学习; 在实践中体会面向对象编程思想;,1.2 课程学习

2、的几个要求,5,J2SE 1. Java基本语法 2. Java中面向对象基础知识 3. 异常 4. 数组与容器 5. I/O 6. 多线程 7. 网络编程 8. GUI编程,1.3 本门课程主要内容,6,1. JDBC 2. Java WEB 3. Servlet, JSP 4. Struts2 5. Hibernate, Spring, AJAX 6. ,1.4 本门课程后续,7,企业级应用:J2EE SSH(Struts Spring Hibernate) MySQL/SQLServer2005/Oracle 嵌入设备应用:J2ME/Anroid 手机开发 嵌入式,1.5 Java主要方

3、向,8,计算机语言的发展 机器语言:CPU本身所使用的语言。 优点:可以直接被CPU使用,表达准确、运行速度非常快。 缺点:难于编写、阅读和理解。 形式:010111100 汇编语言:用符号代替了机器指令代码,采用了助记符号来编写程序。 优点:使程序内容变得清楚,易于理解。 缺点:编写过程繁琐且耗时长,所以它很难普及。 形式:MOV AX, 0010B,1.6.1 Java的历史,9,高级语言:与计算机的硬件结构及指令系统无关 高级语言使每一条语句的功能大大加强,同时又保持了易写、易读和易于理解的特性,Java就是一种高级语言。 形式:if (ab) max = a; 对于计算机的CPU来说,

4、高级语言太笼统了,它需要一个功能强大的翻译器来帮助理解。翻译器有两种:一种是编译器,另一种是解译器。它们的作用都是将我们用高级语言写好的程序翻译成计算机能理解的机器语言,所不同的是翻译的方式。,1.6.1 Java的历史,10,编译型语言 C,C+.; 源代码经编译后产生目标代码,即对应于特定平台的机器码.是平台相关的,可移植性不强. 解释型语言 Perl,Basic.; 将源代码逐行读入并执行的.是可跨平台的,可移植性强. 一个问题:Java属于哪一类?,1.6.1 Java的历史,11,Java的发展简史 1991年,Java语言诞生在SUN公司,它是由James Gosling领导的Gr

5、een Project小组开发的,它最初的名字是Oak; 1994年, Green Project小组将他们的开发转向了Internet,用Oak编写了一系列网络应用程序,像网络浏览器WebRunner等; 1995年,随着Java语言在互联网和多媒体上的发展,它得到了全球计算机业的高度重视; SUN公司将1.2及其以后版本命名为“Java2”; 目前,Java语言的正式版本已经发展到1.7版。,1.6.1 Java的历史,12,有关Java的几张图片,Java的标识,Java之父 James Gosling,Java的吉祥物 Duke,13,结构简单:Java语言的程序构成与C语言和C+语言

6、类似,摒弃了C语言和C+语言的复杂、不安全特性。例如:指针的操作和内存的管理。此外,Java语言提供了种类丰富、功能强大的类库,提高了编程效率。 面向对象:现实世界中的任何物体都可以看作是1个对象,对象有状态和行为两大特征。Java不是以过程为中心来编程,而是以对象为中心、通过对象之间的调用来解决问题。 平台无关:使用Java语言编写的应用程序不需要进行任何修改,就可以在不同的软、硬件平台上运行。这主要是通过Java虚拟器(JVM)来实现的。,1.6.2 Java语言特点,14,可靠性:因为Java最初设计目的是应用于电子类家庭消费产品,所以要求较高的可靠性。例如:Java语言提供了异常处理机

7、制,有效地避免了因程序编写错误而导致的死机现象。 安全性:现今的Java语言主要用于网络应用程序的开发,因此对安全性有很高的要求。 多线程:多线程是指在一个程序中可以同时执行多个简单任务。线程也被称为轻量进程,是一个传统大进程里分出来的独立的可并发执行的单位。C语言和C+语言采用单线程体系结构,而Java语言支持多线程技术。,1.6.2 Java语言特点,15,J2SE (Java Platform 2 Standard Edition):Java 2标准版,java系统的标准与核心平台,主要面向个人用户; J2EE (Java Platform 2 Enterprise Edition):J

8、ava 2企业版,标准版的企业级扩展,面向网络用户; J2ME (Java Platform 2 Micro Edition):Java 2微型版,面向嵌入式系统应用。,1.6.3 Java Platform 2,16,有关Java的几张图片,17,Eclipse:由Eclipse社区开发、维护的一个开放的可扩展平台(其实IBM是幕后老板) ; JBuilder系列:Borland公司产品,功能很强大,目前其实是加强版的Eclipse; NetBeans:由Sun公司建立的开放源码的可扩展开发平台,和Eclipse竞争激烈; Java SDK(Software Development Kit)

9、:和上面三个不同,这不是集成开发环境(IDE),集成在JDK中,只能在DOS命令窗口下运行,但是操作简单,容易掌握。,1.7 Java语言的开发工具,18,Bin文件夹 安装好JDK后,打开安装目录的bin文件夹,有20多个exe可执行文件。它们都是Java语言工具,常用的有以下一些: javac.exe:Java编译器; java.exe:Java解释器; appletviewer.exe:Java Applet的解释器;可以用来运行编译好的Applet程序。 jar.exe:Java语言压缩工具; javadoc.exe:用于生成API文档;,1.7 Java的安装,19,更新系统环境变量

10、 由于Java SDK的编译和运行基本上都是在DOS环境下进行,因此为了能在任何提示符下都可以方便地直接使用bin文件夹中的可执行文件和Java类库,我们需要对系统环境变量进行更新设置。,1.7 Java的安装,20,SDK ;) / continue; break; continue 标名号 Loop : for () for () continue loop; switch case 1: ;break; case2: ; break; default : ; break; chapter2TestContinue.java,31,第3章 对象和类,32,书写“类 ”的基础,33,3.1对

11、象与类,1. windows窗口 2. 弹球 3. 开车,34,3.2 定义类,修饰符 class 类名称 /成员变量 修饰符 变量类型 变量名称 =初始值 /成员方法 修饰符 返回值类型 方法名称 (参数列表) /方法体 chapter3Rectangle.java,35,3.3 变量的作用域,成员变量 局部变量 方法局部 内局部 chapter3VarField.java,36,3.4 方法重载,函数名一样+参数不一样=重载 参数不一样: 类型 顺序 个数 chapter3OverloadFunction.java P66,37,3.5 创建对象,引用型变量(指针) P70 1 类名 变量

12、名 = new 构造函数; 2 类名 变量名 = 函数返回值; 3 类名 变量名;变量名 = 4 类名 变量名 = null 5 new 构造函数; (一次引用) ClassName cn1 = new ClassName(); ClassName cn2 = new ClassName(); cn1 = cn2 ?,38,3.6 构造函数,类名相同 无返回值 可重载 * 默认存在无参数、空实现构造函数 * 自定义构造函数,则屏蔽默认构造函数 综合练习:写一个类、声明一个对象。,39,其他注意的问题:,40,3.7 this,this() this. 指向自身的指针。 chapter3Test

13、This.java 例3.8 P73,41,3.8 初始化,堆内元素有默认值(类成员变量) 栈内元素没有默认值(函数体内) 例3.8 P73,42,3.10 对象的清理,理解垃圾回收机制 finalize()方法 1. 手动调用。 2. 内存不足时自动调用。,43,修饰符,44,3.9 static,static 变量 static 函数 chapter3TestStatic.java,45,3.11访问控制修饰符,public default protected private,46,3.13 参数传递,基本类型参数传递 引用型参数传递 chapter3TestParaTrans.java

14、图3.4 3.5 P78 图3.6 P79 ClassName cn1 = new ClassName(); ClassName cn2 = new ClassName(); 问题:cn1 = cn2,47,第4章 继承与多态,重点章节,48,继承,49,4.1 继承基础,继承是复用类的方法 基础: 1. 修饰符 private:类内使用,外部不可见 main除外 protected:继承权限,子类可见; default:包(文件夹)权限,包内可见; public :任意权限 2. class 子类名 extends 父类名,50,4.1 继承基础,3. 重写 函数 重点是copy 返回值 函

15、数名 参数列表 都相同 访问权限只能变宽 default protected public private, final不能重写 chapter4TestExtends.java,51,4.2 构造函数的调用顺序,先祖先、再客人、最后是自己 例4.3 P96 默认调用super() super. 指针 chapter4TestSuper.java,52,4.3 继承与组合,P87 三条,53,OBJECT类,顶级类,所有类的父类,54,4.5 toString(),默认:返回 getClass().getName() + + Integer.toHexString(hashCode() Sys

16、tem.out.println(a)System.out.println(a.toString(); 自定义:重写 chapter4TestToString.java,55,4.6 equals(),基础数据类型使用“”比较 对象与对象比较存在标准 Object标准,内存相同。 可以自定义,重写equals()方法 chapter4TestEquals.java,56,多态(重点),57,4.7 多态,多态:在类继承中父类及子类中可以有多个同名但意义不同的的属性、实现方式不同的方法。 两种情况: 覆盖和重载 多态继承+重载+父类指针指向子类对象。,58,4.7 向上转型,父类指针指向子类对象

17、P92 例4.8 P93 例4.9,59,4.7 构造器中多态方法的行为,例4.10 注意:复习构造方法的顺序;,60,4.7 动态绑定,chapter4TestPoly.java,61,4.7 向下转型,chapter4TestEquals2.java,62,第5章 抽象类、接口与内部类,63,抽象类、接口(重点),接口:第二种引用类型变量,64,5.1 抽象类,abstract class 共同的代码应当尽量移动到抽象类中 数据的移动方向是从抽象类到具体类 abstract returnTpye absMethName( Para List); / 抽象类不能实例化、必需被继承 抽象方法必

18、需在抽象类中 抽象方法不能是private的。 例5.3 P100,65,5.2 接口,极度的抽象类,没有任何方法体的方法 interface intfName static final varName = varValue; abstract function; class A implements InterfaceB,66,5.2 接口是一个引用类型,Interface if = new ClassImpIF(); Class (ClassImpIF) implements interface (if); 类似:父类指针指向子类对象。 例5.5 P105,67,课堂练习,有三个动物A1,A2,A3,每只动物的叫声不一样(打印不同的文字)。 写一个函数参数为一只动物,命令这只动物叫一声,要求根据传入动物的不同,打印对应的文字。,68,5.3 接口可以有继承,例5.6 P106,69,5.2 类嵌套接口,需要内部类实现 P107 例5.7,70,5.2 接口嵌套接口,默认:公有 interface A interface B interface C 程序5.8与5.7的区别是class与interfa

温馨提示

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

评论

0/150

提交评论