第一章Java语言概述.ppt
《第一章Java语言概述.ppt》由会员分享,可在线阅读,更多相关《第一章Java语言概述.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaJava语言程序设计语言程序设计周猛周猛 讲师讲师生物医学软件工程教研室生物医学软件工程教研室参考书:参考书:nJava 2 编程指南编程指南nJava 编程思想编程思想 课程内容课程内容n第一章第一章JavaJava语言概述语言概述n第二章程序、数据、变量和计算第二章程序、数据、变量和计算n第三章第三章JavaJava控制结构控制结构n第四章数组与字符串第四章数组与字符串n第五章类的定义第五章类的定义n第六章扩展类与继承第六章扩展类与继承n第七章异常第七章异常n第八章流第八章流n第九章线程第九章线程n第十章图形用户界面与事件处理第十章图形用户界面与事件处理n第十一章第十一章Java
2、AppletJava Appletn第十二章第十二章Java Java 中的网络编程中的网络编程JAVA 程序设计程序设计第一章第一章 JavaJava语言概述语言概述 本章内容本章内容nJava 的历史的历史nJava 的版本的版本nJava 的特色的特色nJava 的安装的安装nJava程序开发程序开发1程序设计语言程序设计语言程序设计语言的种类:q 机器语言:机器指令,直接执行q 汇编语言:符号化,汇编器(Assembler)q 高级程序设计语言(编译型)q 高级程序设计语言(解释型)高级语言中用于描述计算的结构采用类似于数学中代数运算公式的形式,这种结构被称为“表达式”。程序中基本的动
3、作单位被称为“语句”,不同的语句实现不同的功能。用高级语言书写的程序不可能直接地在计算机上执行,要在计算机上执行高级语言书写的程序,有两种基本方法:q 编译(Compilation)执行:这种方法是设法把高级语言程序(也称为“源程序”)转换成为机器语言的可以由计算机直接执行的程序,即转变为“可执行(Executable)程序”。q“解释”(Interpretation)执行:这种方法是即时把源程序转换为机器可执行的指令。有时为了提高效率,也可以先编译成一种中间代码。1程序设计语言程序设计语言高级程序设计语言高级程序设计语言 对于“编译执行”方式,人们实现了高级语言“编译器”(Compiler)
4、完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”(object code),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”(executable program),这样的程序就可以在计算机上实际运行了。第一个加工步骤称为“编译”(compiling),第二个步骤称为“连接”(linking)。1程序设计语言程序设计语言高级程序设计语言高级程序设计语言1程序设计语言程序设计语言高级程序设
5、计语言高级程序设计语言编编 译译 过过 程程 对于“解释执行”方式,人们实现了一种称为“解释器”(Interpreter)的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。1程序设计语言程序设计语言高级程序设计语言高级程序设计语言解解 释释 过过 程程1程序设计语言程序设计语言高级程序设计语言高级程序设计语言 高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。人们已经开发出了许多不同的高级程序设计语言,不同
6、的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。q FORTRAN(FORmular TRANslation)语言,HPF:IBM,1950q Pascal语言:N.Wirth,1968,(Delphi,Borland)q COBOL(COmmon Business Oriented Language)语言:美国国防部,1960q C和C+语言:Dennis Retchie,1972;Bjarne Stroustrup,1983,Bellq Basic(Beginners All-purpose Symbolic Instruction Code)语言:美国国防部,1964q A
7、da语言:军用程序设计语言,美国国防部,1983 q Java语言:1991年,SUN MicroSystem公司1程序设计语言程序设计语言高级程序设计语言高级程序设计语言2 Java 历史介绍历史介绍n1990年,年,Sun公司开始了一个公司开始了一个James Gosling(Java创始人)项目,尝试用创始人)项目,尝试用C+开发用开发用于消费电器中的软件。于消费电器中的软件。nGosling用了一个新语言用了一个新语言Oak来解决这个问题。来解决这个问题。Oak保留了熟悉的保留了熟悉的C+语法语法n当当Oak成熟时,因特网也正处于戏剧性增长的时期,成熟时,因特网也正处于戏剧性增长的时期
8、,Sun公司的开发小组认识到公司的开发小组认识到Oak非常适合非常适合Internet编程。编程。n 1994年,他们完成了一个用年,他们完成了一个用Oak编写的早期编写的早期Web查看器,称为查看器,称为WebRunner,后被改名为,后被改名为HotJavaJames Gosling1991nJavaJava让人联想到印度尼西亚有个重要的盛让人联想到印度尼西亚有个重要的盛产咖啡的岛屿,开发人员为这种新的语言产咖啡的岛屿,开发人员为这种新的语言起名为起名为JavaJava,其寓意是为世人端上一杯热其寓意是为世人端上一杯热咖啡。咖啡。n19951995年,年,OakOak更名为更名为Java
9、Java,并在,并在SunWorldSunWorld 9595中发布中发布Java2!从此,Java的知名度如日中天。甚至在1996年1月Java编译器第一版发布之前,Java已经成为Internet发行的行业标准。98年末,Sun推出Java 1.2(简称Java 2)最新 java 6Java 的版本的版本J2SE(Java2StandardEdition)J2EE(Java2EnterpriseEdition)J2ME(Java2MicroEdition)n同一个版本的同一个版本的 Java,又分为三种版本,又分为三种版本标准版标准版 适用于开发用戶端程序适用于开发用戶端程序企业版企业版
10、 适用于开发服器端程序适用于开发服器端程序手持设备版手持设备版 适用于开发适用于开发无线设备无线设备程序程序3 JAVA3 JAVA特点特点nSunSun公司在公司在“JavaJava白皮书白皮书”中是这样对中是这样对JavaJava进行定进行定义的:义的:n JavaJava:A simpleA simple,object-orientedobject-oriented,distributeddistributed,interpretedinterpreted,robustrobust,securesecure,architecture-neutralarchitecture-neutral
11、,portableportable,high-high-performanceperformance,multi-threadedmulti-threaded,and dynamic and dynamic languagelanguage。即即即即JavaJavaJavaJava是一种具有是一种具有是一种具有是一种具有:简单的、简单的、简单的、简单的、面向对象的、面向对象的、面向对象的、面向对象的、分布式的分布式的分布式的分布式的、解释型的、解释型的、解释型的、解释型的、强壮的、强壮的、强壮的、强壮的、安全的、安全的、安全的、安全的、体系结构中立的、体系结构中立的、体系结构中立的、体系结构中
12、立的、可移植的、可移植的、可移植的、可移植的、高性能的、高性能的、高性能的、高性能的、多线程的、多线程的、多线程的、多线程的、动态的语言。动态的语言。动态的语言。动态的语言。特性之一特性之一简单性简单性Java Java 语语言言的的简简单单性性主主要要出出于于如如下下几几种因素:种因素:Java的风格类似于的风格类似于C+.Java提供了自动内存垃圾搜集机制,提供了自动内存垃圾搜集机制,JavaJava的简单性是以增加运行时系统的复的简单性是以增加运行时系统的复杂性为代价的。杂性为代价的。nJava 使用使用“类类”(Class)来实现对象的概念来实现对象的概念class青椒炒肉丝青椒炒肉丝
13、青椒青椒处理处理好好牛肉牛肉处理处理好好芡汁芡汁制作制作好好青椒青椒+牛肉牛肉炒炒1分半分半用用芡汁芡汁芶芡芶芡即可即可主程序对象主程序对象class青椒青椒数量数量=500g处理法处理法青椒对象青椒对象class牛肉牛肉数量数量=300g处理法处理法牛肉对象牛肉对象class芡汁芡汁制作法制作法芶芡法芶芡法芡汁对象芡汁对象特性之二特性之二面向对象面向对象特性之三特性之三分布式分布式分布式包括数据分布和操作分布。分布式包括数据分布和操作分布。数据分布:指数据可以分散存放于网络上数据分布:指数据可以分散存放于网络上的不同主机的不同主机;操作分布:指把计算分散由不同主机进操作分布:指把计算分散由不
14、同主机进行处理。行处理。对对于于编编程程人人员员来来说说,JavaJava的的网网络络类类库库是对分布式编程的最好支持。是对分布式编程的最好支持。字节码(Byte Code)提供了一种结构中立的对象文件格式,该格式设计成可在多种平台上有效运行的程序。特性之四特性之四解释执行解释执行源程序源程序编译编译字节码字节码解释器(虚拟机JVM)JavaJava解释器直接对解释器直接对JavaJava字节码进字节码进行解释执行。行解释执行。自动垃圾收集来进行内存管理例外处理机制特性之五特性之五健壮性健壮性语言定义本身的因素不支持指针等特有的安全模型字节码校验器(ByteCode Verifier):类装载
15、器(Class Loader):安全管理器:Java位码位码(ByteCode)有被窜有被窜改过吗改过吗?別乱跑,我帶別乱跑,我帶你到正确的存你到正确的存储位置。储位置。很好!一切很好!一切正常!但只正常!但只准你在特定准你在特定范围活动。范围活动。特性之六特性之六安全性安全性Java 程序被编译成一种与体系结构无关的字节代码,只要安装了Java运行系统,Java程序可以在任意的处理器上运行,Java解释器得到字节码后,对他进行转换使他能够在不同的平台上运行。特性之七特性之七体系结构中立体系结构中立“WriteOnce,RunAnywhere”“WriteOnce,RunAnywhere”PC
16、UNIXMacJava 程序CompileJavaByteCodeJavaVMForPCJavaVMForUNIXJavaVMForMac特性之八特性之八可移植性可移植性JavaJava采采用用多多种种机机制制来来保保证证可可移移植植性性,其中最主要的有两条:其中最主要的有两条:JavaJava采用的是基于国际标准的数据类采用的是基于国际标准的数据类型。型。JavaJava的数据类型在任何机器上都是一的数据类型在任何机器上都是一致的致的,它不支持特定于具体的硬件环境的,它不支持特定于具体的硬件环境的数据类型。数据类型。此此外外,JavaJava的的可可移移植植性性还还体体现现在在JavaJav
17、a的运行环境上。的运行环境上。Java作为一种解释型语言,其速度不会超过编译语言C,但远远超过交互式语言GUI等。和其他解释执行的语言如BASIC等不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而具有较高的性能。特性之九特性之九高性能高性能多线程概念很象多任务,Java可以把一个程序分成多个任务以便使任务易于完成和最大限度利用CPU资源。特性之十特性之十多线程多线程可將一个程序分成数份,可將一个程序分成数份,让各部份能同时被执行。让各部份能同时被执行。在Java类库中可以自由的加入新的方法和实例变量而不会影响用户程序的执行。特性之十一特性之十一动态性动态性Jav
18、aJava通过接口来支持多重继承使之通过接口来支持多重继承使之比严格的类继承具有更灵活的方式和扩比严格的类继承具有更灵活的方式和扩展性。展性。Java 与与C及及C+的区别的区别n 不再有全局变量n 不再有#include 和#define 等预处理功能n 不再有structure、union及typedef等n 不再有函数、不再有指针、不再有多重继承n 不再有goto语句n 不再有操作符重载(Operatior Overloading)n 取消自动类型转换,要求强制转换n 自动进行内存管理4 Java 编程环境nJava软件开发工具包JDKn适于WindowsXP和WindowsNT/200
19、0工作平台,由于Java的JDK版本是免费的,因此可以从因特网上免费下载,找到我们感兴趣的信息。三种平台简介三种平台简介 目前目前JavaJava运行平台主要分为下列运行平台主要分为下列3 3个版本:个版本:(1 1)J2SEJ2SE:称为:称为JavaJava标准版或标准版或Java Java 标准平台。标准平台。J2SE J2SE 提供了标准的提供了标准的SDKSDK开发平台(以前称做开发平台(以前称做JDKJDK开发平台)。开发平台)。(2 2)J2EEJ2EE:称为:称为JavaJava企业版或企业版或JavaJava企业平台。企业平台。(3 3)J2MEJ2ME:称为:称为JavaJ
20、ava微型版或微型版或JavaJava小型平台。小型平台。JDK j2eesdk-1_4_01-windows.exe j2sdk-1_4_2-doc.zip集成环境集成环境 Jbuilder(Borland)Visual J+(Microsoft)JPad TextPad JDKJDK的下载的下载http:/ 直接运行“j2eesdk-1_4_01-windows.exe”,按照安装向导进行安装。解开“j2sdk-1_4_2-doc.zip”,得到JDK的开发文档。安装安装JDK后产生如下目录结构:后产生如下目录结构:bin目录:Java开发工具,包括Java编译器、解释器等 demo目录:
21、一些实例程序 lib目录:Java开发类库 jre目录:Java运行环境,包括Java虚拟机、运行类库等 Java开发工具包括:开发工具包括:Javac:Java编译器,用来将java程序编译成 Bytecode。Java:Java解释器,执行已经转换成Bytecode的 java应用程序。Jdb:Java调试器,用来调试java程序。Javap:反编译,将类文件还原回方法和变量。Javadoc:文档生成器,创建HTML文件。Appletviwer:Applet解释器,用来解释已经转换成 Bytecode的java小应用程序。设置环境变量:设置环境变量:PATH=bin;CLASSPATH=.
22、;Windows 98:autoexec.batWindows NT/2000/XP:控制面板系统高级环境变量n仅仅安装仅仅安装JREJRE 如果你只想运行别人的如果你只想运行别人的JavaJava程序可以只安程序可以只安装装JavaJava运行环境运行环境JREJRE,JREJRE由由JavaJava虚拟机、虚拟机、JavaJava的核心类以及一些支持文件组成。可的核心类以及一些支持文件组成。可以登录以登录SunSun的网站免费下载的网站免费下载JavaJava的的JREJRE。5 Java程序开发程序开发nApplicationn“Java应用应用”是可以独立运行的是可以独立运行的Java
23、程序。程序。n由由Java解释器控制执行。解释器控制执行。nAppletn“Java小程序小程序”不能独立运行,而是被嵌入到不能独立运行,而是被嵌入到Web页中。页中。n由与由与Java兼容的浏览器控制执行。兼容的浏览器控制执行。Client 机Server 机Browser网页字节码JavaJava程序的几种类型程序的几种类型Java程序分两种:Java应用程序(Java Application)Java小程序(Java Applet)Java应用程序(Java Application)n 控制台应用程序(console applications)n 窗口化Java 应用程序(windowe
24、d java applications)Java的工作方式的工作方式n文件类型文件类型n.java Java源文件源文件n.class 二进制二进制字节码文件字节码文件n编译过程编译过程Java编译器Import java.io.*;class test.test.javaDF BA 09 88.test.classJava的工作方式的工作方式.class 二进制字节码文件.java java源程序文件编译Java的工作方式的工作方式nJava虚拟机(虚拟机(JVM)Java虚拟机类似于一个小巧而高效的虚拟机类似于一个小巧而高效的CPU,Java处理器处理器“芯片芯片”,一般由软件实现,一般由
25、软件实现Java虚拟机类装入器字节码验证器解释器字节码执行Java虚拟机虚拟机类装配器字节码验证器解释器代码生成器JIT code generatorHello.class 编译型工作方式解释型工作方式Java虚拟机虚拟机n加载代码加载代码 类加载器类加载器 n加载程序运行所需要的所有的类。类加载器将加载程序运行所需要的所有的类。类加载器将本地文件系统的类的名字空间与从网络资源来本地文件系统的类的名字空间与从网络资源来的类的名字空间分开的类的名字空间分开n一旦所有的类被加载,可执行程序的内存布局一旦所有的类被加载,可执行程序的内存布局就被确定了。内存地址被分配给符号引用表,就被确定了。内存地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 Java 语言 概述
限制150内