《Java 程序设计.ppt》由会员分享,可在线阅读,更多相关《Java 程序设计.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Java 程序设计 原作者:Y.Daniel Liang讲述:朱晖课程目标F通过本课程的学习,理解 Java applications and appletsPrimitive data typesJava control flowMethodsObject-oriented programmingCore Java classes(Swing,exception,internationalization,multithreading,multimedia,I/O,networking)F能够:Write applications and appletsDevelop a GUI interf
2、aceWrite interesting projectsEstablish a firm foundation on Java concepts各章内容F第一篇:Fundamentals of ProgrammingChapter 1:Introduction to JavaChapter 2:Primitive Data Types and OperationsChapter 3:Control StatementsChapter 4:Methods各章内容,续.F第二篇:Object-Oriented ProgrammingChapter 5:Programming with Objec
3、ts and ClassesChapter 6:Class InheritanceChapter 7:Arrays and Vectors各章内容,续.F第三篇:Graphics ProgrammingChapter 8:Getting Started with Graphics Programming Chapter 9.Creating User Interfaces Chapter 10.Applets and Advanced Graphics 各章内容,续.F第四篇:Developing Comprehensive ProjectsChapter 11.Exception Handl
4、ingChapter 12.InternationalizationChapter 13.Multithreading Chapter 14.MultimediaChapter 15.Input and Output Chapter 16.Networking第章:Java入门FCourse ObjectivesFWhat Is Java?FGetting Started With Java ProgrammingCompiling and Running a Java ApplicationCompiling and Running a Java AppletWhat Is Java?FHi
5、storyFCharacteristics of JavaHistoryFJames GoslingFOakFJava,May 20,1995,Sun WorldFHotJava The first Java-enabled Web browserJava语言的发展简介语言的发展简介F1991年年SunMircosystem公司成立了一个公司成立了一个Green项目开发小组,项目开发小组,JameGosling为组长;为组长;F设计设计Java采用虚拟机代码(采用虚拟机代码(VirtualMachineCode),),即即.class文件,它通过解释器运行文件,它通过解释器运行;F1995年年
6、5月月SunMircosystem公司对外正式发公司对外正式发布布Java1.0;FJava2用途:适用于各种应用开发,尤其是网用途:适用于各种应用开发,尤其是网络应用,网络服务和嵌入式系统络应用,网络服务和嵌入式系统。Java语言是建立在语言是建立在C+语言之上语言之上:Java的特点FJava is simpleFJava is object-orientedFJava is distributedFJava is interpretedFJava is robustFJava is secureFJava is architecture-neutralFJava is portableF
7、Javas performanceFJava is multithreadedFJava is dynamic简单性简单性FJava与与C/C+保持了一定的兼容性,与保持了一定的兼容性,与C+类似,但比类似,但比C+简单简单;FJava取消了取消了C/C+中很少用的、难以理解中很少用的、难以理解的、容易混淆的特性的、容易混淆的特性。BillJoy的观点:的观点:Java=C+-面向对象面向对象FJava以类组织程序,并且硬性规定:所以类组织程序,并且硬性规定:所有类的根结点都是有类的根结点都是Object类,其余的类类,其余的类都是其子类都是其子类;FJava采用面向对象的思想组织程序,支采用
8、面向对象的思想组织程序,支持持OO的三个基本特性,即:封装性、多的三个基本特性,即:封装性、多态性和继承性态性和继承性。分布性分布性FJava提供的接口支持提供的接口支持HTTP和和FTP等等TCP/IP协议类库,协议类库,Java应用程序可以采应用程序可以采用用URL地址直接访问网络上的对象。地址直接访问网络上的对象。解释执行解释执行Java采用先编译后解释执行,顺序如下:采用先编译后解释执行,顺序如下:1采用编辑器编程并保存;采用编辑器编程并保存;2编编译译器器对对.java源源文文件件编编译译,生生成成一一种种称称为为.class的字节码文件;的字节码文件;3装载器将装载器将.class
9、的字节码文件装入内存;的字节码文件装入内存;4字字节节码码检检验验器器对对字字节节码码进进行行安安全全检检验验,若若其其不违背不违背Java的安全性,将继续进行,否则停止;的安全性,将继续进行,否则停止;5解释器对字节码解释执行。解释器对字节码解释执行。健壮性健壮性FJava取消了指针;取消了指针;FJava引入了异常(引入了异常(Exception)处理机制处理机制。安全性安全性F语言结构设计严谨,对象的方法和变量语言结构设计严谨,对象的方法和变量具有具有public、protected、private和友元和友元不同的保护机制不同的保护机制;F取消了指针取消了指针;F字节码文件附带有一些安
10、全检验信息字节码文件附带有一些安全检验信息;F浏览器在运行浏览器在运行.class文件时,也要对其文件时,也要对其进行安全检验。进行安全检验。结构中立结构中立F字节码的中介方式,与运行平台无关字节码的中介方式,与运行平台无关;F与与C+相比,相比,Java语言定义严格。语言定义严格。例如:例如:classmyclass/考虑考虑a和和b的大小和初值的大小和初值inta;intb=1;/其它数据成员和方法略其它数据成员和方法略可移植性可移植性F语言定义严格,结构中立;语言定义严格,结构中立;FJava提供的类库,不论是对哪一种操作提供的类库,不论是对哪一种操作系统都一样系统都一样;F每种基本类型
11、的变量所占的空间大小,每种基本类型的变量所占的空间大小,在在Java中是确定不变的中是确定不变的。高效高效编译器先将程序编译为与机器指令非常编译器先将程序编译为与机器指令非常接近的字节码,从而提高了执行效率,接近的字节码,从而提高了执行效率,但是,与采用编译方式的但是,与采用编译方式的C/C+相比相比,还是具有一定差距。还是具有一定差距。多线程多线程F进程在执行中有自己独立的内存空间和进程在执行中有自己独立的内存空间和资源,各进程的内存数据和状态彼此孤资源,各进程的内存数据和状态彼此孤立,交换数据通过特定的通信机制完成立,交换数据通过特定的通信机制完成;F线程在执行中共享内存空间和资源,之线程
12、在执行中共享内存空间和资源,之间可直接进行数据交换间可直接进行数据交换;FJava真正支持多线程,真正支持多线程,C/C+等语言都等语言都不支持多线程不支持多线程。动态性动态性Java程序的基本构成单元是类,程序的基本构成单元是类,Java程程序必须写在类中。并且类是在运行时序必须写在类中。并且类是在运行时动动态加载态加载的,不影响程序的运行。的,不影响程序的运行。JDK 版本FJDK 1.02(1995)FJDK 1.1(1996)FJava 2 SDK v 1.2(a.k.a JDK 1.2,1998)FJava 2 SDK v 1.3(a.k.a JDK 1.2,2000)FJava 2
13、 SDK v 1.4.0FJava 2 SDK v 1.4.1F目前目前Java的的1.4.2版本已经和版本已经和NetBeans3.5.1捆绑捆绑Java IDE 工具FInprise JBuilderFMicrosoft Visual J+FSymantec Caf Forte by Sun MicroSystemsFIBM Visual Age for Java初步了解Java 编程FA Simple Java ApplicationFCompiling ProgramsFExecuting ApplicationsFA Simple Java AppletFViewing Java A
14、ppletsFApplications vs.AppletsA Simple ApplicationExample 1.1/This application program prints Welcome/to Java!public class Welcome public static void main(String args)System.out.println(Welcome to Java!);RunSource应用程序对比应用程序对比:publicclasshellopublicstaticvoidmain(Stringargs)System.out.println(HelloJa
15、va!);Java程序注释方法程序注释方法F从从C+引入的方法,即引入的方法,即/方式;方式;F从从C/C+中引入的老的注释方法,即中引入的老的注释方法,即/*/,该方法支持多行注释,该方法支持多行注释;F/*/方式,便于方式,便于javadoc程序自动生程序自动生成文档。成文档。Compiling ProgramsFOn command linejavac file.javaExecuting ApplicationsFOn command linejava classnameExamplejavac Welcome.javajava Welcomeoutput:.A Simple Appl
16、etExample 1.2/*This is an example of Java applets*/import java.awt.Graphics;public class WelcomeApplet extends java.applet.Applet public void paint(Graphics g)g.drawString(Welcome to Java!,10,10);SourceCreating an HTML File小程序举对比:小程序举对比:importjava.awt.Graphics;/注意该行的含义注意该行的含义importjava.applet.Applet
17、;publicclasssayhelloextendsAppletpublicvoidpaint(Graphicsg)g.drawString(HelloJava!,35,30);小程序对应的小程序对应的HTML文件:文件:Viewing Java AppletsApplet Viewer Utilityappletviewer htmlfile.htmlExample:appletviewer WelcomeApplet.htmlRun Applet ViewerApplications 与 AppletsFSimilarities FDifferencesF基于控制台的应用程序;基于控制台
18、的应用程序;F基于浏览器运行的小程序基于浏览器运行的小程序applet。小程序与应用程序的区别是:小程序与应用程序的区别是:小程序必须小程序必须依赖一个依赖一个HTML文件和支持文件和支持Java的网络浏的网络浏览器。览器。Applets的安全性限制FApplets are not allowed to read from,or write to,the file system of the computer viewing the applets.FApplets are not allowed to run any programs on the browsers computer.FApplets are not allowed to establish connections between the users computer and another computer except with the server wherethe applets are stored.练习练习FP18复习复习1.101.111.121.131.141.19F编程编程1.11.2