JAVA程序设计-教案(一).ppt

上传人:牧羊曲112 文档编号:5436138 上传时间:2023-07-06 格式:PPT 页数:78 大小:223KB
返回 下载 相关 举报
JAVA程序设计-教案(一).ppt_第1页
第1页 / 共78页
JAVA程序设计-教案(一).ppt_第2页
第2页 / 共78页
JAVA程序设计-教案(一).ppt_第3页
第3页 / 共78页
JAVA程序设计-教案(一).ppt_第4页
第4页 / 共78页
JAVA程序设计-教案(一).ppt_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《JAVA程序设计-教案(一).ppt》由会员分享,可在线阅读,更多相关《JAVA程序设计-教案(一).ppt(78页珍藏版)》请在三一办公上搜索。

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

2、向对象基础知识3.异常4.数组与容器5.I/O6.多线程7.网络编程8.GUI编程,1.3 本门课程主要内容,1.JDBC2.Java WEB3.Servlet,JSP4.Struts25.Hibernate,Spring,AJAX6.,1.4 本门课程后续,企业级应用:J2EESSH(Struts Spring Hibernate)MySQL/SQLServer2005/Oracle嵌入设备应用:J2ME/Anroid手机开发嵌入式,1.5 Java主要方向,计算机语言的发展 机器语言:CPU本身所使用的语言。优点:可以直接被CPU使用,表达准确、运行速度非常快。缺点:难于编写、阅读和理解。

3、形式:010111100汇编语言:用符号代替了机器指令代码,采用了助记符号来编写程序。优点:使程序内容变得清楚,易于理解。缺点:编写过程繁琐且耗时长,所以它很难普及。形式:MOV AX,0010B,1.6.1 Java的历史,高级语言:与计算机的硬件结构及指令系统无关高级语言使每一条语句的功能大大加强,同时又保持了易写、易读和易于理解的特性,Java就是一种高级语言。形式:if(ab)max=a;对于计算机的CPU来说,高级语言太笼统了,它需要一个功能强大的翻译器来帮助理解。翻译器有两种:一种是编译器,另一种是解译器。它们的作用都是将我们用高级语言写好的程序翻译成计算机能理解的机器语言,所不同

4、的是翻译的方式。,1.6.1 Java的历史,编译型语言C,C+.;源代码经编译后产生目标代码,即对应于特定平台的机器码.是平台相关的,可移植性不强.解释型语言Perl,Basic.;将源代码逐行读入并执行的.是可跨平台的,可移植性强.一个问题:Java属于哪一类?,1.6.1 Java的历史,Java的发展简史 1991年,Java语言诞生在SUN公司,它是由James Gosling领导的Green Project小组开发的,它最初的名字是Oak;1994年,Green Project小组将他们的开发转向了Internet,用Oak编写了一系列网络应用程序,像网络浏览器WebRunner等

5、;1995年,随着Java语言在互联网和多媒体上的发展,它得到了全球计算机业的高度重视;SUN公司将1.2及其以后版本命名为“Java2”;目前,Java语言的正式版本已经发展到1.7版。,1.6.1 Java的历史,有关Java的几张图片,Java的标识,Java之父James Gosling,Java的吉祥物Duke,结构简单:Java语言的程序构成与C语言和C+语言类似,摒弃了C语言和C+语言的复杂、不安全特性。例如:指针的操作和内存的管理。此外,Java语言提供了种类丰富、功能强大的类库,提高了编程效率。面向对象:现实世界中的任何物体都可以看作是1个对象,对象有状态和行为两大特征。Ja

6、va不是以过程为中心来编程,而是以对象为中心、通过对象之间的调用来解决问题。平台无关:使用Java语言编写的应用程序不需要进行任何修改,就可以在不同的软、硬件平台上运行。这主要是通过Java虚拟器(JVM)来实现的。,1.6.2 Java语言特点,可靠性:因为Java最初设计目的是应用于电子类家庭消费产品,所以要求较高的可靠性。例如:Java语言提供了异常处理机制,有效地避免了因程序编写错误而导致的死机现象。安全性:现今的Java语言主要用于网络应用程序的开发,因此对安全性有很高的要求。多线程:多线程是指在一个程序中可以同时执行多个简单任务。线程也被称为轻量进程,是一个传统大进程里分出来的独立

7、的可并发执行的单位。C语言和C+语言采用单线程体系结构,而Java语言支持多线程技术。,1.6.2 Java语言特点,J2SE(Java Platform 2 Standard Edition):Java 2标准版,java系统的标准与核心平台,主要面向个人用户;J2EE(Java Platform 2 Enterprise Edition):Java 2企业版,标准版的企业级扩展,面向网络用户;J2ME(Java Platform 2 Micro Edition):Java 2微型版,面向嵌入式系统应用。,1.6.3 Java Platform 2,有关Java的几张图片,Eclipse:由

8、Eclipse社区开发、维护的一个开放的可扩展平台(其实IBM是幕后老板);JBuilder系列:Borland公司产品,功能很强大,目前其实是加强版的Eclipse;NetBeans:由Sun公司建立的开放源码的可扩展开发平台,和Eclipse竞争激烈;Java SDK(Software Development Kit):和上面三个不同,这不是集成开发环境(IDE),集成在JDK中,只能在DOS命令窗口下运行,但是操作简单,容易掌握。,1.7 Java语言的开发工具,Bin文件夹安装好JDK后,打开安装目录的bin文件夹,有20多个exe可执行文件。它们都是Java语言工具,常用的有以下一些

9、:javac.exe:Java编译器;java.exe:Java解释器;appletviewer.exe:Java Applet的解释器;可以用来运行编译好的Applet程序。jar.exe:Java语言压缩工具;javadoc.exe:用于生成API文档;,1.7 Java的安装,更新系统环境变量由于Java SDK的编译和运行基本上都是在DOS环境下进行,因此为了能在任何提示符下都可以方便地直接使用bin文件夹中的可执行文件和Java类库,我们需要对系统环境变量进行更新设置。,1.7 Java的安装,SDK&JREJRE:Java Runtime Environment,即Java程序的运

10、行环境;我们要想在某台电脑上运行Java程序,那么必须在该电脑上事先安装JRE。SDK:Software Development Kit,是面向开发人员使用的工具包,它提供了Java的开发环境和运行环境。Java应用程序与Java小程序 Java程序可以分为两类:Java应用程序(Java Application)Java小程序(Java Applet),1.7 Java的安装,第2章 JAVA基础语法,基础的基础,与C语言类似,第一个程序,chapter2HelloWorld.java,类(class)是整个源程序的核心部分。在一个类的类体中可以定义变量、常量以及方法。main()方法是应用

11、程序的执行入口。main()方法头的定义是:public static void main(String args)Java语言是严格区分大小写的语言。一个Java程序文件最多只能有一个public类,此时文件的前缀名必须和该公有类的名字相同。,第一个程序的说明,2.1 标识符与关键字,标识符:_&字母开头后面可加数字驼峰规则、见名知意、区分大小写关键字 P22,2.1 注释,/*.*/*.*/,2.2.1 JAVA的数据类型,四类八种(基础数据类型)booleanbyte/short/int(默认整数)/long(加L)float(加F)/double(默认浮点数)char(转义字符)注意他

12、们的取值范围、默认值对象、接口、数组(引用型变量)chapter2VarClass.java,2.2.2 变量与常量,变量:名字 类型 值常量:不可变的变量final 只能赋值一次;注意作用域之间。chapter2VarAndFinal.java,2.2.3 数据类型转换,表2.4 计算转换 P30表2.5 赋值转换 P31特别说明:boolean不参与强制转换会溢出或损失精度浮点转整数chapter2VarClass.java,2.3 运算符,1.优先级 表2.6P322.运算符+-+=-=*=(数据类型结合)?:instanceof/new/./()P47,2.4 控制结构,if/if e

13、lse/if ifelse else whilefor(;)/continue;break;continue 标名号Loop:for()for()continue loop;switchcase 1:;break;case2:;break;default:;break;chapter2TestContinue.java,第3章 对象和类,书写“类”的基础,3.1对象与类,1.windows窗口2.弹球3.开车,3.2 定义类,修饰符 class 类名称/成员变量修饰符 变量类型 变量名称=初始值/成员方法修饰符 返回值类型 方法名称(参数列表)/方法体chapter3Rectangle.jav

14、a,3.3 变量的作用域,成员变量局部变量方法局部内局部chapter3VarField.java,3.4 方法重载,函数名一样+参数不一样=重载参数不一样:类型顺序个数chapter3OverloadFunction.java P66,3.5 创建对象,引用型变量(指针)P701 类名 变量名=new 构造函数;2 类名 变量名=函数返回值;3 类名 变量名;变量名=4 类名 变量名=null5 new 构造函数;(一次引用)ClassName cn1=new ClassName();ClassName cn2=new ClassName();cn1=cn2?,3.6 构造函数,类名相同无返

15、回值可重载*默认存在无参数、空实现构造函数*自定义构造函数,则屏蔽默认构造函数综合练习:写一个类、声明一个对象。,其他注意的问题:,3.7 this,this()this.指向自身的指针。chapter3TestThis.java例3.8 P73,3.8 初始化,堆内元素有默认值(类成员变量)栈内元素没有默认值(函数体内)例3.8 P73,3.10 对象的清理,理解垃圾回收机制finalize()方法1.手动调用。2.内存不足时自动调用。,修饰符,3.9 static,static 变量static 函数chapter3TestStatic.java,3.11访问控制修饰符,public de

16、faultprotectedprivate,3.13 参数传递,基本类型参数传递引用型参数传递chapter3TestParaTrans.java图3.4 3.5 P78图3.6 P79ClassName cn1=new ClassName();ClassName cn2=new ClassName();问题:cn1=cn2,第4章 继承与多态,重点章节,继承,4.1 继承基础,继承是复用类的方法基础:1.修饰符 private:类内使用,外部不可见 main除外protected:继承权限,子类可见;default:包(文件夹)权限,包内可见;public:任意权限2.class 子类名 e

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

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

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

20、接口,极度的抽象类,没有任何方法体的方法interface intfNamestatic final varName=varValue;abstract function;class A implements InterfaceB,5.2 接口是一个引用类型,Interface if=new ClassImpIF();Class(ClassImpIF)implements interface(if);类似:父类指针指向子类对象。例5.5 P105,课堂练习,有三个动物A1,A2,A3,每只动物的叫声不一样(打印不同的文字)。写一个函数参数为一只动物,命令这只动物叫一声,要求根据传入动物的不同,

21、打印对应的文字。,5.3 接口可以有继承,例5.6 P106,5.2 类嵌套接口,需要内部类实现P107 例5.7,5.2 接口嵌套接口,默认:公有interface Ainterface Binterface C程序5.8与5.7的区别是class与interfaceclass AB implements A.B,内部类与包,5.3.1 属性内部类,位于类属性位置无需任何条件直接访问外部类的所有方法和属性OuterClass.classOuterClass$InnerClass.class,5.3.2 局部内部类,位于函数内的类作用域范围就在这个块内Outer1.classOuter1$1F

22、Inner.class,5.3.3 静态内部类,位于属性位置只能访问外部类的静态属性和方法类似于静态方法与属性。Outer2.classOuter2$SInner.class,5.3.4 匿名内部类,这种类没有真正的名字,只有类体,只能用一次。interfaceName ifN=new interfaceName()overrideMeth()abstractClassName acN=new abstractClassName()overrideMeth()fatherClassName fCN=new fatherClassName()overrideMeth(),5.3.5 内部类的继承,不赞成使用内部类的继承如果是需要继承,使用外部类。,5.4 包(避免名字冲突),创建自己的包package*.*.*;包的引入import*.*.className;1注意包权限2注意classpath,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号