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

下载本文档

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

文档简介

.,JAVA程序设计教案(一),HPUCST吴正江配套教材:张化祥JAVA语言基础教程清华大学出版社2007,.,第1章,WelcomeJava!,.,1.几点要求2.Java的历史与语言结构3.Java的安装4.Java语言基础,本节课内容,.,1.请假以凭证为准,无凭证视为缺勤2.上课需要保持安静3.课程内容较多,下面自己做练习4.平时分以实验及点名为准,占40%,1.1课堂要求,.,编程是一门技术,需要多实践;编程是一门功夫,需要勤练内功;注重代码编写规范;注重相互交流,充分利用网络资源辅助学习;在实践中体会面向对象编程思想;,1.2课程学习的几个要求,.,J2SE1.Java基本语法2.Java中面向对象基础知识3.异常4.数组与容器5.I/O6.多线程7.网络编程8.GUI编程,1.3本门课程主要内容,.,1.JDBC2.JavaWEB3.Servlet,JSP4.Struts25.Hibernate,Spring,AJAX6.,1.4本门课程后续,.,企业级应用:J2EESSH(StrutsSpringHibernate)MySQL/SQLServer2005/Oracle嵌入设备应用:J2ME/Anroid手机开发嵌入式,1.5Java主要方向,.,计算机语言的发展机器语言:CPU本身所使用的语言。优点:可以直接被CPU使用,表达准确、运行速度非常快。缺点:难于编写、阅读和理解。形式:010111100汇编语言:用符号代替了机器指令代码,采用了助记符号来编写程序。优点:使程序内容变得清楚,易于理解。缺点:编写过程繁琐且耗时长,所以它很难普及。形式:MOVAX,0010B,1.6.1Java的历史,.,高级语言:与计算机的硬件结构及指令系统无关高级语言使每一条语句的功能大大加强,同时又保持了易写、易读和易于理解的特性,Java就是一种高级语言。形式:if(ab)max=a;对于计算机的CPU来说,高级语言太笼统了,它需要一个功能强大的翻译器来帮助理解。翻译器有两种:一种是编译器,另一种是解译器。它们的作用都是将我们用高级语言写好的程序翻译成计算机能理解的机器语言,所不同的是翻译的方式。,1.6.1Java的历史,.,编译型语言C,C+.;源代码经编译后产生目标代码,即对应于特定平台的机器码.是平台相关的,可移植性不强.解释型语言Perl,Basic.;将源代码逐行读入并执行的.是可跨平台的,可移植性强.一个问题:Java属于哪一类?,1.6.1Java的历史,.,Java的发展简史1991年,Java语言诞生在SUN公司,它是由JamesGosling领导的GreenProject小组开发的,它最初的名字是Oak;1994年,GreenProject小组将他们的开发转向了Internet,用Oak编写了一系列网络应用程序,像网络浏览器WebRunner等;1995年,随着Java语言在互联网和多媒体上的发展,它得到了全球计算机业的高度重视;SUN公司将1.2及其以后版本命名为“Java2”;目前,Java语言的正式版本已经发展到1.7版。,1.6.1Java的历史,.,有关Java的几张图片,Java的标识,Java之父JamesGosling,Java的吉祥物Duke,.,结构简单:Java语言的程序构成与C语言和C+语言类似,摒弃了C语言和C+语言的复杂、不安全特性。例如:指针的操作和内存的管理。此外,Java语言提供了种类丰富、功能强大的类库,提高了编程效率。面向对象:现实世界中的任何物体都可以看作是1个对象,对象有状态和行为两大特征。Java不是以过程为中心来编程,而是以对象为中心、通过对象之间的调用来解决问题。平台无关:使用Java语言编写的应用程序不需要进行任何修改,就可以在不同的软、硬件平台上运行。这主要是通过Java虚拟器(JVM)来实现的。,1.6.2Java语言特点,.,可靠性:因为Java最初设计目的是应用于电子类家庭消费产品,所以要求较高的可靠性。例如:Java语言提供了异常处理机制,有效地避免了因程序编写错误而导致的死机现象。安全性:现今的Java语言主要用于网络应用程序的开发,因此对安全性有很高的要求。多线程:多线程是指在一个程序中可以同时执行多个简单任务。线程也被称为轻量进程,是一个传统大进程里分出来的独立的可并发执行的单位。C语言和C+语言采用单线程体系结构,而Java语言支持多线程技术。,1.6.2Java语言特点,.,J2SE(JavaPlatform2StandardEdition):Java2标准版,java系统的标准与核心平台,主要面向个人用户;J2EE(JavaPlatform2EnterpriseEdition):Java2企业版,标准版的企业级扩展,面向网络用户;J2ME(JavaPlatform2MicroEdition):Java2微型版,面向嵌入式系统应用。,1.6.3JavaPlatform2,.,有关Java的几张图片,.,Eclipse:由Eclipse社区开发、维护的一个开放的可扩展平台(其实IBM是幕后老板);JBuilder系列:Borland公司产品,功能很强大,目前其实是加强版的Eclipse;NetBeans:由Sun公司建立的开放源码的可扩展开发平台,和Eclipse竞争激烈;JavaSDK(SoftwareDevelopmentKit):和上面三个不同,这不是集成开发环境(IDE),集成在JDK中,只能在DOS命令窗口下运行,但是操作简单,容易掌握。,1.7Java语言的开发工具,.,Bin文件夹安装好JDK后,打开安装目录的bin文件夹,有20多个exe可执行文件。它们都是Java语言工具,常用的有以下一些:javac.exe:Java编译器;java.exe:Java解释器;appletviewer.exe:JavaApplet的解释器;可以用来运行编译好的Applet程序。jar.exe:Java语言压缩工具;javadoc.exe:用于生成API文档;,1.7Java的安装,.,更新系统环境变量由于JavaSDK的编译和运行基本上都是在DOS环境下进行,因此为了能在任何提示符下都可以方便地直接使用bin文件夹中的可执行文件和Java类库,我们需要对系统环境变量进行更新设置。,1.7Java的安装,.,SDK;)/continue;break;continue标名号Loop:for()for()continueloop;switchcase1:;break;case2:;break;default:;break;chapter2TestContinue.java,.,第3章对象和类,.,书写“类”的基础,.,3.1对象与类,1.windows窗口2.弹球3.开车,.,3.2定义类,修饰符class类名称/成员变量修饰符变量类型变量名称=初始值/成员方法修饰符返回值类型方法名称(参数列表)/方法体chapter3Rectangle.java,.,3.3变量的作用域,成员变量局部变量方法局部内局部chapter3VarField.java,.,3.4方法重载,函数名一样+参数不一样=重载参数不一样:类型顺序个数chapter3OverloadFunction.javaP66,.,3.5创建对象,引用型变量(指针)P701类名变量名=new构造函数;2类名变量名=函数返回值;3类名变量名;变量名=4类名变量名=null5new构造函数;(一次引用)ClassNamecn1=newClassName();ClassNamecn2=newClassName();cn1=cn2?,.,3.6构造函数,类名相同无返回值可重载*默认存在无参数、空实现构造函数*自定义构造函数,则屏蔽默认构造函数综合练习:写一个类、声明一个对象。,.,其他注意的问题:,.,3.7this,this()this.指向自身的指针。chapter3TestThis.java例3.8P73,.,3.8初始化,堆内元素有默认值(类成员变量)栈内元素没有默认值(函数体内)例3.8P73,.,3.10对象的清理,理解垃圾回收机制finalize()方法1.手动调用。2.内存不足时自动调用。,.,修饰符,.,3.9static,static变量static函数chapter3TestStatic.java,.,3.11访问控制修饰符,publicdefaultprotectedprivate,.,3.13参数传递,基本类型参数传递引用型参数传递chapter3TestParaTrans.java图3.43.5P78图3.6P79ClassNamecn1=newClassName();ClassNamecn2=newClassName();问题:cn1=cn2,.,第4章继承与多态,重点章节,.,继承,.,4.1继承基础,继承是复用类的方法基础:1.修饰符private:类内使用,外部不可见main除外protected:继承权限,子类可见;default:包(文件夹)权限,包内可见;public:任意权限2.class子类名extends父类名,.,4.1继承基础,3.重写函数重点是copy返回值函数名参数列表都相同访问权限只能变宽defaultprotectedpublicprivate,final不能重写chapter4TestExtends.java,.,4.2构造函数的调用顺序,先祖先、再客人、最后是自己例4.3P96默认调用super()super.指针chapter4TestSuper.java,.,4.3继承与组合,P87三条,.,OBJECT类,顶级类,所有类的父类,.,4.5toString(),默认:返回getClass().getName()+Integer.toHexString(hashCode()System.out.println(a)System.out.println(a.toString();自定义:重写chapter4TestToString.java,.,4.6equals(),基础数据类型使用“”比较对象与对象比较存在标准Object标准,内存相同。可以自定义,重写equals()方法chapter4TestEquals.java,.,多态(重点),.,4.7多态,多态:在类继承中父类及子类中可以有多个同名但意义不同的的属性、实现方式不同的方法。两种情况:覆盖和重载多态继承+重载+父类指针指向子类对象。,.,4.7向上转型,父类指针指向子类对象P92例4.8P93例4.9,.,4.7构造器中多态方法的行为,例4.10注意:复习构造方法的顺序;,.,4.7动态绑定,chapter4TestPoly.java,.,4.7向下转型,chapter4TestEquals2.java,.,第5章抽象类、接口与内部类,.,抽象类、接口(重点),接口:第二种引用类型变量,.,5.1抽象类,abstractclass共同的代码应当尽量移动到抽象类中数据的移动方向是从抽象类到具体类abstractreturnTpyeabsMethName(ParaList);/抽象类不能实例化、必需被继承抽象方法必需在抽象类中抽象方法不能是private的。例5.3P100,.,5.2接口,极度的抽象类,没有任何方法体的方法interfaceintfNamestaticfinalvarName=varValue;abstractfunction;classAimplementsInterfaceB,.,5.2接口是一个引用类型,Interfaceif=newClassImpIF();Class(ClassImpIF)implementsinterface(if);类似:父类指针指向子类对象。例5.5P105,.,课堂练习,有三个动物A1,A2,A3,每只动物的叫声不一样(打印不同的文字)。写一个函数参数为一只动物,命令这只动物叫一声,要求根据传入动物的不同,打印对应的文字。,.,5.3接口可以有继承,例5.6P106,.,5.2类嵌套接口,需要内部类实现P107例5.7,.,5.2接口嵌套接口,默认:公有interfaceAinterfaceBinterfaceC程序5.8与5.7的区别是class与interfaceclassABimplementsA.B,.,内部类与包,.,5.3.1属性内部类,位于类属性位置无需任何条件直接访问外部类的所有方法和属性OuterClass.classOuterClass$InnerClass.class,.,5.3.2局部内部类,位于函数内的类作用域范围就在这个块内Outer1.classOuter1$1FInner.class,.,5.3.3静态内部类,位于属性位置只能访问外部类的静态属性和方法类似于静态方法与属性。Outer2.classOuter2$SInner.class,.,5.3.4匿名内部类,这种类没有真正的名字,只有类体

温馨提示

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

评论

0/150

提交评论