面向对象程序设计@第01章_Java入门_第1页
面向对象程序设计@第01章_Java入门_第2页
面向对象程序设计@第01章_Java入门_第3页
面向对象程序设计@第01章_Java入门_第4页
面向对象程序设计@第01章_Java入门_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、5JavaJava程序设计程序设计第第0101章章 JavaJava入门入门本章内容本章内容CORE-C01-01 Java程序设计概述 CORE-C01-02 Java开发环境搭建 CORE-C01-03 Java程序基本结构 CORE-C01-04 实现第一个Java程序 CORE-C01-05 文档注释处理 本章目标本章目标l 了解了解JavaJava语言的特点和运行机制语言的特点和运行机制l 搭建并熟悉搭建并熟悉JavaJava开发运行环境开发运行环境l 学习并掌握编写简单学习并掌握编写简单JavaJava应用程序的过程应用程序的过程 难点难点:对对JavaJava虚拟机概念及其工作原

2、理的理解。虚拟机概念及其工作原理的理解。重点重点: 1 1)对)对JavaJava虚拟机概念及其工作原理的理解。虚拟机概念及其工作原理的理解。 2 2)熟悉)熟悉JavaJava开发运行环境开发运行环境。3 3)会编写基本的)会编写基本的JavaJava程序。程序。第01节 Java程序设计概述 知识点预览知识点预览# #节节知识点知识点难点难点重点重点应用应用1CORE-C01-01 Java程序设计概述1、Java发展简史2、Java的特点3、Java的不同版本及其特征1、Java发展历史发展历史-1DukeDuke,JavaJava语言的吉祥物语言最开始只是太阳微系统(语言的吉祥物语言最

3、开始只是太阳微系统(Sun MicroSystemsSun MicroSystems)公司在)公司在19901990年年1212月开始研究的一个内部项目。他们瞄准下一代智能家电(如微波炉)的程序设月开始研究的一个内部项目。他们瞄准下一代智能家电(如微波炉)的程序设计,太阳公司预料未来科技将在家用电器领域大显身手。计,太阳公司预料未来科技将在家用电器领域大显身手。太阳首席科学家比尔太阳首席科学家比尔. .乔伊决定开发一种集乔伊决定开发一种集C C语言和语言和MesaMesa语言大成的新语言,在一份报告语言大成的新语言,在一份报告上,乔伊把它叫做上,乔伊把它叫做“未来未来”,被他命名为,被他命名为

4、“Oak”Oak”(橡树)。(橡树)。19921992年夏天,面向一种类年夏天,面向一种类PDAPDA设备,被命名为设备,被命名为Star7Star7的项目开启,这种设备有鲜艳的图形的项目开启,这种设备有鲜艳的图形界面和被称为界面和被称为“Duke”Duke”的智能代理来帮助用户。同年的智能代理来帮助用户。同年1111月,成立了月,成立了SunSun全资的全资的“FirstPersonFirstPerson有限公司有限公司”。但在当时代华纳的电视机顶盒的招标中败给。但在当时代华纳的电视机顶盒的招标中败给SGISGI,后来与,后来与3DO3DO公司的另外一笔关于机顶盒的交易也没有成功,由于他们的

5、平台不能在电视工业产公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司被并回太阳公司。生任何效益,公司被并回太阳公司。19941994年年6 6月、月、7 7月间,在经历了一场历时三天的脑力激荡的讨论后,约翰月间,在经历了一场历时三天的脑力激荡的讨论后,约翰盖吉、詹姆盖吉、詹姆斯斯高斯林、比尔高斯林、比尔乔伊、帕特里克乔伊、帕特里克诺顿、韦恩诺顿、韦恩罗斯因和埃里克罗斯因和埃里克斯库米,团队决斯库米,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。于是同年,定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。于是同年,OakOak

6、被被改名为改名为JavaJava。19941994年年1010月,月,HotJavaHotJava和和JavaJava平台为公司高层进行演示。平台为公司高层进行演示。19941994年,年,Java 1.0aJava 1.0a版本已经版本已经可以提供下载,但是可以提供下载,但是JavaJava和和HotJavaHotJava浏览器的第一次公开发布却是在浏览器的第一次公开发布却是在19951995年年3 3月月2323日日SunWorldSunWorld大会上进行的。大会上进行的。1、Java发展历史发展历史-219951995年年5 5月月2323日,日,JavaJava语言诞生语言诞生199

7、61996年年1 1月,第一个月,第一个JDK-JDK1.0JDK-JDK1.0诞生诞生19971997年年2 2月月1818日,日,JDK1.1JDK1.1发布发布19981998年年1212月月8 8日,日,JAVA2JAVA2企业平台企业平台J2EEJ2EE发布发布19991999年年6 6月,月,SUNSUN公司发布公司发布JavaJava的三个版本:标准版(的三个版本:标准版(J2SEJ2SE)、企业版)、企业版(J2EEJ2EE)和微型版()和微型版(J2MEJ2ME)20002000年年5 5月月8 8日,日,JDK1.3JDK1.3发布发布20002000年年5 5月月2929

8、日,日,JDK1.4JDK1.4发布发布20012001年年9 9月月2424日,日,J2EE1.3J2EE1.3发布发布20022002年年2 2月月2626日,日,J2SE1.4J2SE1.4发布,自此发布,自此JavaJava的计算能力有了大幅提升的计算能力有了大幅提升20042004年年9 9月月3030日,日,J2SE1.5J2SE1.5发布,成为发布,成为JavaJava语言发展史上的又一里程语言发展史上的又一里程碑碑,J2SE1.5,J2SE1.5更名为更名为Java SE 5.0Java SE 5.020052005年年6 6月,月,JavaOneJavaOne大会召开,大会召

9、开,SUNSUN公司公开公司公开Java SE 6Java SE 6。此时,。此时,JavaJava的各种版本已经更名,以取消其中的数字的各种版本已经更名,以取消其中的数字“2”2”:J2EEJ2EE更名为更名为Java EEJava EE,J2SEJ2SE更名为更名为Java SEJava SE,J2MEJ2ME更名为更名为Java MEJava ME20092009年年1212月,月,SUNSUN公司发布公司发布Java EE 6Java EE 620112011年年7 7月月2828日日,Oracle,Oracle正式发布正式发布Java 7.Java 7.1、Java发展历史发展历史-

10、3甲骨文公司原定于甲骨文公司原定于20132013年年9 9月份发布月份发布Java 8Java 8,但截至目前,一些特性,但截至目前,一些特性还未实现,因此该公司计划将正式发布日期延后至还未实现,因此该公司计划将正式发布日期延后至20142014年年3 3月月1818日。日。 20132013年年1 1月底,月底,JavaJava开发团队发布了开发团队发布了Java 8Java 8的第的第6 6个里程碑版本(个里程碑版本(M6M6),),该版本原定是一个功能完备的版本,但由于时间关系,一些特性还未该版本原定是一个功能完备的版本,但由于时间关系,一些特性还未在该版本中实现,因此,开发团队将完成

11、所有特性的目标放在了在该版本中实现,因此,开发团队将完成所有特性的目标放在了M7M7版版本中,这也影响到了正式版本的发布。本中,这也影响到了正式版本的发布。 甲骨文甲骨文JavaJava平台首席架构师平台首席架构师Mark ReinholdMark Reinhold公布了最新的版本路线图:公布了最新的版本路线图:u 2013/05/09 M7:功能完备版本 u 2013/09/05 M8:开发者预览版 u 2014/01/23 M9:最终候选版 u 2014/03/18 GA:正式版本2、Java的特点的特点-11.1.面向对象面向对象u Java语言的设计集中于对象及其接口 ,它提供了类机制

12、以及动态的接口模型。实现了代码的复用。2.2.面向网络(分布性)面向网络(分布性)u Java是面向网络的语言。通过它提供的类库可以处理 TCP/IP协议 ,用户 可以通过 URL地址在网络上很方便地访问其它对象。3.3.简单性简单性u Java语言是一种面向对象的语言 ,它通过提供最基本的方法来完成指定的任务 ,只需理解一些基本的概念 ,就可以用它编写出适合于各种情况的应用程序。 Java略去了运算符重载、多重继承等模糊的概念 ,并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。4.4.健壮性(健壮性( 鲁棒性)鲁棒性)u Java在编译和运行程序时 ,都要对可能出现的问题进行检查

13、 ,以消除错误的产生。它提供自动垃圾收集来进行内存管理 ,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制 ,在编译时,Java提示出可能出现但未被处理的例外 ,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误 ,防止动态运行时不匹配问题的出现。5.5.可移植性(跨平台)可移植性(跨平台)u 与平台无关的特性使 Java程序可以方便地被移植到网络上的不同机器。u 目前Java可以在基本上所有主流平台上运行。2、Java的特点的特点-26.6.体系结构中立体系结构中立u Java解释器生成与体系结构无关的字节码指令 ,只要安装

14、了 Java运行时系统 ,Java程序就可在任意的处理器上运行。这些字节码指令对应于 Java虚拟机中的表示 ,Java解释器得到字节码后 ,对它进行转换 ,使之能够在不同的平台运行。7.7.安全性安全性u Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现 ,这样就防止程序员访问对象的私有成员,同时也避免了指针操作中容易产生的错误。同时Java提供强大的安全结构。8.8.解释执行解释执行u Java解释器直接对 Java字节码进行解释执行。9.9.动态性动态性u Java的设计使它适合于一个不断发展的环境。面向对象的接口多态,语言本身提供反射与动态代理,可以提供字节码动态生成

15、。10.10.多线程多线程u 多线程机制使应用程序能够并行执行 ,而且同步机制保证了对共享数据的正确操作。11.11.高性能高性能u 和其它解释执行的语言如 BASIC、 TCL不同 ,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码 ,从而得到较高的性能。3、Java的不同版本及其特征的不同版本及其特征-1JDK Version 1.0u 开发代号为Oak(橡树),于1996-01-23发行JDK Version 1.1u 于1997-02-19发行。u 引入的新特性包括: 引入JDBC(Java Database Connectivity); 支持内部类; 引入Java

16、 Bean; 引入RMI(Remote Method Invocation); 引入反射(仅用于内省)。 3、Java的不同版本及其特征的不同版本及其特征-2J2SE Version 1.2u 开发代号为Playground(操场),于1998-12-08发行。u 引入的新特性包括: 引入集合(Collection)框架; 对字符串常量做内存映射; 引入JIT(Just In Time)编译器; 引入对打包的Java文件进行数字签名; 引入控制授权访问系统资源的策略工具; 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库; 引入Ja

17、va 插件; 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型; 在Applet中添加声音支持。3、Java的不同版本及其特征的不同版本及其特征-3J2SE Version 1.3u 开发代号为Kestrel(红隼),于2008-05-08发行。u 引入的新特性包括: 引入Java Sound API; jar文件索引; 对Java的各个方面都做了大量优化和增强。3、Java的不同版本及其特征的不同版本及其特征-4J2SE Version 1.4u 开发代号为Merlin(隼),于2004-02-06发行(首次在JCP下发行)。u 引入的新特性包括: XML处理; J

18、ava打印服务; 引入Logging API; 引入Java Web Start; 引入JDBC 3.0 API; 引入断言; 引入Preferences API; 引入链式异常处理; 支持IPv6; 支持正则表达式; 引入Image I/O API。3、Java的不同版本及其特征的不同版本及其特征-5Java Version SE 5.0u 开发代号为Tiger(老虎),于2004-09-30发行。u 引入的新特性包括: 引入泛型; 增强循环,可以使用迭代方式; 自动装箱与自动拆箱; 类型安全的枚举; 可变参数; 静态引入; 元数据(注解); 引入Instrumentation。3、Java

19、的不同版本及其特征的不同版本及其特征-6Java Version SE 6u 开发代号为Mustang(野马),于2006-12-11发行。u 引入的新特性包括: 支持脚本语言; 引入JDBC 4.0 API; 引入Java Compiler API; 可插拔注解; 增加对Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持; 继承Web Services; 做了很多优化。 3、Java的不同

20、版本及其特征的不同版本及其特征-7Java Version SE 7u开发代号是Dolphin(海豚),于2011-07-28发行。u引入的新特性包括: switch语句块中允许以字符串作为分支条件; 在创建泛型对象时应用类型推断; 在一个语句块中捕获多种异常; 支持动态语言; 支持try-with-resources; 引入Java NIO.2开发包; 数值类型可以用2进制字符串表示,并且可以在字符串表示中添加下划线; 钻石型语法; null值的自动处理。 3、Java的不同版本及其特征的不同版本及其特征-8完整的完整的Java 8Java 8(M7M7)。该版本中还将加入如下)。该版本中还

21、将加入如下1616个新特性:个新特性: u 101 泛化的目标类型推断 u 104 Java类型注解 u 107 针对集合的批量数据操作 u 109 增强核心库(加入Lambda) u 115 AEAD密码套件 u 118 运行时访问参数名 u 119 javax.lang.model核心反射实现 u 120 重复注解 u 123 可配置的安全随机数生成 u 126 Lambda表达式和虚拟扩展方法 u 140 限制doPrivileged u 155 并发升级 u 161 简洁的配置文件 u 162 模块化准备 u 171 内存栅栏内部函数 u 174 Nashorn JavaScript引

22、擎3、Java的不同版本及其特征的不同版本及其特征-9Java 9Java 9、1010的发展规划的发展规划 u 甲骨文对Java 8 的前景很是看好,并已经开始讨论Java 9发展的关键领域。比如加入一个self-tuning JVM,提高本地集成和大规模多核的可扩展性;通过新的元对象协议和资源管理器为云应用添加跨语言支持。 u 甲骨文也表示,Java9和和10将加入大数据、多语言的互操作性、云计算和将加入大数据、多语言的互操作性、云计算和移动,预期分别于移动,预期分别于2015年和年和2017年发布。年发布。而关于Java开发工具包(JDK)10以及之后的版本也正在讨论中,比如使Java语

23、言面向对象,形成一个统一的类型系统,所有原语都将转换为对象和方法。 u 随着使用人数的增加,Java正逐渐成为最常用的编程语言,令每个使用者都满意成了它的目标。甲骨文认为Java在将来会成为开发者们首选的编程语言,因为它可以实现的东西正好符合了开发者们的期望。 第02节 Java开发环境搭建 知识点预览知识点预览# #节节知识点知识点难点难点重点重点应用应用2CORE-C01-02 Java开发环境搭建1、下载JDK2、安装JDK3、配置JDK4、运行体验JDK自带的DEMO程序5、认识JDK安装目录6、Java开发工具1、下载、下载JDK-1下载下载URLURLuhttp:/ JAVA_HO

24、ME JDK的安装目录。 例如JDK在WIN7的安装目录是C:Program Files (x86)Javajdk1.7.0_13,则JAVA_HOME的值就是C:Program Files (x86)Javajdk1.7.0_13。u PATH JDK工具的路径。PATH中可以使用;(Windows操作系统)或者:(Unix/Linux/Mac OS操作系统)分隔多个目录。 例如JDK在WIN7的安装目录是C:Program Files (x86)Javajdk1.7.0_13,则PATH中添加一个目录C:Program Files (x86)Javajdk1.7.0_13binu CLAS

25、SPATH(可选) 必要的时候可以设置CLASSPATH环境变量的值为$JAVA_HOMR/ jre/lib/rt.jar:$JAVA_HOME/ jre/lib/jfxrt.jar 注意在Window操作系统中%JAVA_HOME%/jre/lib/rt.jar; %JAVA_HOME%/ jre/lib/jfxrt.jar4、运行体验、运行体验JDK自带的自带的DEMO程序程序在在JDK7JDK7以后以后JDKJDK自带的演示自带的演示DEMODEMO需要单独下载,可以在需要单独下载,可以在JDKJDK下载网页下载。下载后直接解压缩可以得到下载网页下载。下载后直接解压缩可以得到JavaSE

26、JavaSE与与JavaFXJavaFX的演示的演示DEMODEMO程序。程序。ujdk-7u13-windows-i586-demos.zipujavafx_samples-2_2_5-windows.zipDEMODEMO程序的执行方式程序的执行方式u可执行文件jar文件方式, 在安装好JDK后,可双击运行得到效果。uApplet运行文件html文件方式,可以直接双击html打开页面得到运行效果。JavaSEJavaFX5、认识、认识JDK安装目录安装目录./bin./binuJDK工具目录。./jre./jreuJDK运行环境目录。./lib./libuJDK的java与C支持库。./i

27、nclude./includeuJDK中C库的头文件目录./db./dbuApache Derby嵌入式数据库引擎。./src.zip./src.zipuJDK API库的源代码。6、Java开发工具开发工具编译器编译器javacjavacu 用来编译Java源代码(.java文件)为Java虚拟执行文件(.class文件)。JavaJava虚拟机虚拟机javajava与与javawjavawu 用来解释执行虚拟执行文件(.class文件)。u 工具java执行为控制台程序,javaw执行为windows程序。Java APIJava API抽取工具抽取工具javadocjavadocu 用来

28、把源代码中的文档注释抽取为HTML格式的API文档。第03节 Java程序基本结构知识点预览知识点预览# #节节知识点知识点难点难点重点重点应用应用3CORE-C01-03 Java程序基本结构1、源代码文件2、字(word)3、语句4、块5、特殊代码行6、注释行1、源代码文件、源代码文件JavaJava源代码文件实际是普通的文本文件:源代码文件实际是普通的文本文件:u Java的源代码文件必须是.java扩展名,而且必须是小写。u Java源代码的文件可以是任意文件名。2、字、字(word)JavaJava代码的最基本单元是字代码的最基本单元是字(word)(word),由空格,由空格/ta

29、b/tab回车分隔,回车分隔,JavaJava的字的字分成两类:分成两类:u 关键字-Java编译器内置的字(52)。 1、数据型态l boolean byte char string short int long double float void (10) 2、流程控制l do while if else for switch case(7)l goto break continue return(4)l throws throw try catch finally(5) 3、类型修饰l public protected private static final const(6)l syn

30、chronized abstract native valatile strictfp transient default(7) 4、其他l import class extend implements interface package(6)l this new super(3)l null true false(4)u 标识字-用户定义命名的字。 开始字符必须是字母,下划线,$符号之一。 组成可以是字母、下划线,$、数字。3、语句、语句JavaJava的语句由字构成,每个语句由分号的语句由字构成,每个语句由分号( (;) )分隔。分隔。常用语句:常用语句:u换行输出语句: System.o

31、ut.println();u不换行输出语句: System.out.print();4、块、块JavaJava基本上所有的语句都必须放在块中(两个语句例外:基本上所有的语句都必须放在块中(两个语句例外:packagepackage与与importimport语句),块由语句),块由分隔。通常块分有名与分隔。通常块分有名与匿名块。匿名块。u常见有名块有: 类块 函数块 控制块class 块名 语句; public static void main(String args) 语句; if(语句;语句;语句) 语句;5、特殊代码行、特殊代码行JavaJava中有两个特殊的代码语句,特殊之处是中有两个

32、特殊的代码语句,特殊之处是JavaJava所有语句所有语句都必须在块中,但这两个语句在块外,而且其中的一个如都必须在块中,但这两个语句在块外,而且其中的一个如果存在,还必须是第一行语句。果存在,还必须是第一行语句。u package 语句: package 由点(.)分隔的多级目录; 比如:package java.lang;u import 语句: import由点(.)分隔的多级目录; 比如:import java.lang;6、注释行、注释行注释:是对注释:是对JavaJava代码的说明,在编译的时候会被忽略的内容。代码的说明,在编译的时候会被忽略的内容。JavaJava有三种注释。有三

33、种注释。u 行注释 语法:/注释内容 /以后的内容都会当成注释,换行符以后注释结束。 只要不破坏字,行注释可以放在任何位置。u 块注释 语法:/*/ /*以后的内容都会当成注释,当*/以后注释结束。 只要不破坏字,行注释可以放在任何位置。u 文档注释 语法:/*/ /*以后的内容都会当成注释,当*/以后注释结束。 只能放在类块前与类块内的函数块前,如果放在函数块内部,则被当成块注释。第04节 实现第一个Java程序知识点预览知识点预览# #节节知识点知识点难点难点重点重点应用应用4CORE-C01-04 实现第一个Java程序1、编辑源代码2、编译源代码3、执行Java程序1、编辑源代码编辑编

34、辑JavaJava源代码一般按照源代码一般按照JavaJava程序代码的结构组织:程序代码的结构组织:u创建文本文件,扩展名必须是小写的java。文件名不必遵循标示字的命名规则。u良好的注释添加习惯。u必要的时候,需要import语句 import java.lang.*;u基本上所有代码必须放在类块 class 类块名u每个程序都有一个执行的起点,main函数块,main函数块必须放在类块。 public static void main(String args)u每个程序必须有执行语句,执行语句可以放在main块中直接执行。 System.out.println(“Hello Java D

35、evelopment!”); 2、编译源代码在命令行下可以使用在命令行下可以使用javacjavac直接编译直接编译javajava源代码。源代码。u编译后,会生成.class文件,源代码中一个类块生成一个.class文件,class文件的名字就是类块名。其他工具可以通过配置后,使用快捷键快速编译。其他工具可以通过配置后,使用快捷键快速编译。uTextpad工具uUltraEdit工具uNetBeans IDE工具uEclipse IDE工具 javac Test.java3、执行Java程序执行执行JavaJava程序使用程序使用javajava与与javawjavaw工具。工具。u jav

36、a工具后直接跟要执行的class文件名,文件名区分大小写,但不能带.class扩展名。u要java能执行处结构,这个类块中必须有main函数块。 java Test第05节 文档注释处理 知识点预览知识点预览# #节节知识点知识点难点难点重点重点应用应用5CORE-C01-05 文档注释处理1、javadoc命令行2、注释文档3、与文档注释有关的约定1、javadoc命令行 javadoc javadoc基本语法基本语法u一般可以有两种方式指定编译抽取文档注释: 直接从sourcefiles中抽取,每个文件使用空格分开,也可以使用统配符号。 也可以把sourcefiles文件名放在一个文本文件

37、allfile.txt中,然后使用allfile.txt抽取。u这里最常用的选项-d执行注释文档抽取后的存放目录。 javadoc options packagenames sourcefiles files javadoc d 目录 Test.java2、注释文档-1注释文档抽取为注释文档抽取为HTMLHTML文件格式。文件格式。JDKJDK的的APIAPI文档就由文档就由javadocjavadoc抽取生成。抽取生成。抽取后的注释文档结构。注释文档的主注释文档的主页文件页文件2、注释文档、注释文档-2包路径索引框架包路径索引框架类索引类索引类结构与注释文档类结构与注释文档可以切换框架与非框

38、架视图可以切换框架与非框架视图 3、与文档注释有关的约定在文档注释中可以使用在文档注释中可以使用HTMLHTML标记来得到一些定制的格式。标记来得到一些定制的格式。同时同时javadocjavadoc还支持一些特殊的标注。还支持一些特殊的标注。u author 作者名version 版本标识parameter 参数名及其意义since 最早出现的JDK版本return 返回值throws 异常类及抛出条件deprecated 引起不推荐使用的警告see 交叉参考 see 类名see #方法名或属性名see 类名#方法名或属性名 1.21.2 JAVAJAVA简介简介 JavaJava简介简介

39、一、一、JAVAJAVA的起源的起源 JavaJava来自于来自于SunSun公司公司James Gosling(James Gosling(詹姆斯詹姆斯高斯林高斯林- - -JavaJava之父之父) )主持主持的一个叫的一个叫GreenGreen的项目,其原先的目的是为家的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们可以把用消费电子产品开发一个分布式代码系统,这样我们可以把E-E-mailmail发给电冰箱、电视机等家用电器,对它们进行控制,和它发给电冰箱、电视机等家用电器,对它们进行控制,和它们进行信息交流。开始,准备采用们进行信息交流。开始,准备采用C+C+,

40、但,但C+C+太复杂,安全性太复杂,安全性差,最后基于差,最后基于C+C+开发了一种新的语言开发了一种新的语言OakOak(JavaJava的前身),的前身),OakOak是一种用于网络的精巧而安全的语言,是一种用于网络的精巧而安全的语言,SunSun公司曾以此投标公司曾以此投标一个交互式电视项目,但结果被一个交互式电视项目,但结果被SGISGI打败。可怜的打败。可怜的OakOak几乎无家几乎无家可归,恰巧这时美国伊利诺斯大学开发的可归,恰巧这时美国伊利诺斯大学开发的MosaicMosaic WWWWWW浏览器启浏览器启发了发了OakOak项目组成员,他们用项目组成员,他们用JavaJava编

41、编 制制 了了HotJavaHotJava浏浏 览器,览器,得到了得到了SunSun公司首席执行官公司首席执行官Scott McNealyScott McNealy(斯科特斯科特麦克尼利麦克尼利) )的支持,触发了的支持,触发了JavaJava进进 军军InternetInternet。二、二、JAVA的版本的版本 Java2包括包括J2SE、J2EE、J2ME三个版本。三个版本。uJ2SE(Java Standard Edition)用于工作)用于工作站、站、PC机,为桌面开发和低端商务应用提供了机,为桌面开发和低端商务应用提供了Java标准平台。标准平台。uJ2EE(Java Enterp

42、rise Edtion)用于服务)用于服务器,构建可扩展的企业级器,构建可扩展的企业级Java平台。平台。uJ2ME(Java Micro Edtion),嵌入式),嵌入式Java消费电子平台,适用于消费性电子产品和嵌入消费电子平台,适用于消费性电子产品和嵌入式设备。式设备。Java版本历史版本历史u19951995年年5 5月月2323日,日,JavaJava语言诞生语言诞生u19961996年年1 1月,第一个月,第一个JDKJDK- -JDK1.0JDK1.0诞生诞生u19961996年年4 4月,月,1010个最主要的个最主要的操作系统操作系统供应商申明将在其产品供应商申明将在其产品中

43、嵌入中嵌入JAVAJAVA技术技术u19961996年年9 9月,约月,约8.38.3万个网页应用了万个网页应用了JAVAJAVA技术来制作技术来制作u19971997年年2 2月月1818日,日,JDK1.1JDK1.1发布发布u19971997年年4 4月月2 2日,日,JavaOneJavaOne会议召开,参与者逾一万人,创当会议召开,参与者逾一万人,创当时全球同类会议规模之纪录时全球同类会议规模之纪录u19971997年年9 9月,月,JavaDeveloperConnectionJavaDeveloperConnection社区成员超过十万社区成员超过十万Java版本历史版本历史u1

44、9981998年年2 2月,月,JDK1.1JDK1.1被下载超过被下载超过2,000,0002,000,000次次u19981998年年1212月月8 8日,日,JAVA2JAVA2企业平台企业平台J2EEJ2EE发布发布u19991999年年6 6月,月,SUNSUN公司发布公司发布JavaJava的三个版本:标准版的三个版本:标准版(J2SEJ2SE)、企业版()、企业版(J2EEJ2EE)和微型版()和微型版(J2MEJ2ME)u20002000年年5 5月月8 8日,日,JDK1.3JDK1.3发布发布u20002000年年5 5月月2929日,日,JDK1.4JDK1.4发布发布u

45、20012001年年6 6月月5 5日,日,NOKIANOKIA宣布,到宣布,到20032003年将出售年将出售1 1亿部支持亿部支持JavaJava的手机的手机u20012001年年9 9月月2424日,日,J2EE1.3J2EE1.3发布发布u20022002年年2 2月月2626日,日,J2SE1.4J2SE1.4发布,自此发布,自此JavaJava的计算能力有了的计算能力有了大幅提升大幅提升Java版本历史版本历史u20042004年年9 9月月3030日日18:00PM18:00PM,J2SE1.5J2SE1.5发布,成为发布,成为JavaJava语言发展语言发展史上的又一里程碑。为

46、了表示该版本的重要性,史上的又一里程碑。为了表示该版本的重要性,J2SE1.5J2SE1.5更更名为名为Java SE 5.0Java SE 5.0u20052005年年6 6月,月,JavaOneJavaOne大会大会召开,召开,SUNSUN公司公开公司公开Java SE 6Java SE 6。此时,此时,JavaJava的各种版本已经更名,以取消其中的数字的各种版本已经更名,以取消其中的数字“2”2”:J2EEJ2EE更名为更名为Java EEJava EE,J2SEJ2SE更名为更名为Java SEJava SE,J2MEJ2ME更名为更名为Java MEJava MEu20062006

47、年年1212月,月,SUNSUN公司发布公司发布JRE6.0JRE6.0u20092009年年1212月,月,SUNSUN公司发布公司发布Java EE 6Java EE 6u20112011年年7 7月月2828日,日,OracleOracle公司发布公司发布Java SE 7Java SE 7 三、三、 JAVA的体系的体系最常用的最常用的JavaJava开发环境开发环境, ,是是JavaJava的标准版的标准版-J2SE-J2SE J2EE J2SEJ2MEJava CardJavaJavaTM TM 2 Platform Standard 2 Platform Standard Edi

48、tionEdition 5.0 5.0标准版与其它标准版与其它版本的关系版本的关系四、四、 JAVA语言的特点语言的特点简单性简单性面向对象面向对象分布式处理分布式处理健壮性健壮性结构中立结构中立安全性安全性v系统精简,但功能齐备。系统精简,但功能齐备。 v风格类似于风格类似于C+C+,对,对C+C+程程序员而言非常容易掌握。序员而言非常容易掌握。 vJavaJava摒弃了摒弃了C+C+中容易引发中容易引发程序错误的地方,如指针操程序错误的地方,如指针操作和内存管理;作和内存管理;v提供丰富的类库。提供丰富的类库。 完全是面向对象的,完全是面向对象的,它不支持类似它不支持类似C C语言那语言那

49、样的面向过程的程序样的面向过程的程序设计技术。设计技术。 支持支持TCP/IPTCP/IP协议。协议。JavaJava应应用程序可通过一个特定的用程序可通过一个特定的URLURL来打开并访问对象,来打开并访问对象,就像访问本地文件系统那就像访问本地文件系统那样简单。样简单。 v提供面向对象的异常处理机制,提供面向对象的异常处理机制,在编译时能对在编译时能对NullNull指针检测、数指针检测、数组边界检测、异常出口字节代码组边界检测、异常出口字节代码校验等。校验等。v自动垃圾收集来进行内存管理。自动垃圾收集来进行内存管理。 将源程序编译成一种结构将源程序编译成一种结构中立的中间文件格式。只中立

50、的中间文件格式。只要有要有JavaJava运行系统的机器运行系统的机器都能执行这种中间代码。都能执行这种中间代码。 vJavaJava语言提供的安全。语言提供的安全。 v编译器提供的安全。编译器提供的安全。 v字节码校验。字节码校验。v类装载。类装载。 可移植性可移植性解释性解释性高性能高性能多线程多线程动态动态JavaJava应用程序可以在配备了应用程序可以在配备了JavaJava解释器和运行环境的任解释器和运行环境的任何计算机系统上运行,而与何计算机系统上运行,而与体系结构无关。体系结构无关。 JavaJava编译器将编译器将javajava源文件生源文件生成类文件成类文件.class.c

51、lass,类文件可,类文件可通过通过javajava命令解释执行,将命令解释执行,将JavaJava字节码转换为机器码。字节码转换为机器码。 JITJIT编译器。可编译器。可以提高以提高 Java Java 代代码的执行速度。码的执行速度。 内置多线程功能,使得在一内置多线程功能,使得在一个程序里可同时执行多个小个程序里可同时执行多个小任务。带来的好处是更好的任务。带来的好处是更好的交互性和实时控制性。交互性和实时控制性。 允许程序动态地装入运行过允许程序动态地装入运行过程中所需要的类,这是程中所需要的类,这是C+C+语言进行面向对象程序设计语言进行面向对象程序设计所无法实现的。所无法实现的。

52、 四、四、 JAVA语言的特点(续)语言的特点(续)五、五、 JAVA的运行机制的运行机制1 1、JavaJava程序的运行步骤:程序的运行步骤: 编写编写 编译编译 运行运行 2 2、各步骤的含义、各步骤的含义 1 1)编写:是指在)编写:是指在JavaJava开发环境中进行程序代码的开发环境中进行程序代码的输入,最终形成后缀名为输入,最终形成后缀名为.java.java的的JavaJava源文件。源文件。 2 2)编译:是指使用)编译:是指使用JavaJava编译器对源文件进行错误编译器对源文件进行错误排查的过程,编译后将生成后缀名为排查的过程,编译后将生成后缀名为.class.class

53、的字节码文件。的字节码文件。(这不像(这不像C C语言那样最终生成可执行文件)语言那样最终生成可执行文件) 3 3)运行:是指使用)运行:是指使用JavaJava解释器将字节码文件翻译解释器将字节码文件翻译成机器代码,执行并显示结果。成机器代码,执行并显示结果。Java源源文件文件(*.java)Java编译器编译器字节码字节码文件文件(*.class)Java解释器解释器运行运行3、Java程序运行流程图程序运行流程图 4 一个Java程序的开发过程由浏览器执行由浏览器执行源文件:文件名源文件:文件名.javaJava编译器:编译器:javac字节码文件字节码文件由由Java解释器执行解释器

54、执行编译生成编译生成Java应用程序应用程序Java小应用程序小应用程序六、六、 JAVAJAVA中的字节码文件中的字节码文件 1 1、字节码文件的定义、字节码文件的定义 字节码文件:是一种和任何具体机器环境及字节码文件:是一种和任何具体机器环境及 操操 作作系统环境无关的中间代码。系统环境无关的中间代码。 2 2、字节码文件的进一步阐述、字节码文件的进一步阐述 它是一种二进制文件,是它是一种二进制文件,是JavaJava源文件由源文件由JavaJava编译编译器编译后生成的目标代码文件。它必须由专用的器编译后生成的目标代码文件。它必须由专用的JavaJava解释器解释器来解释执行来解释执行

55、。 JavaJava解释器负责将字节码文件翻译成具体硬解释器负责将字节码文件翻译成具体硬件环境和操作系统平台下的机器代码,它运行在被称为件环境和操作系统平台下的机器代码,它运行在被称为JavaJava虚拟机的软件平台之上。虚拟机的软件平台之上。 七、七、 JAVA虚拟机(虚拟机(JVM JVM ) 1 1、 JVMJVM的概念的概念 JavaJava虚拟机(虚拟机(JVMJVM):是运行):是运行JavaJava程序的软件环程序的软件环境。境。 2 2、JVMJVM的进一步阐述的进一步阐述 在运行在运行JavaJava程序时,首先会启动程序时,首先会启动JVMJVM,然后由它,然后由它来负责解

56、释执行来负责解释执行JavaJava的字节码,利用的字节码,利用JVMJVM可以把可以把JavaJava字字节码程序和具体的硬件平台以及操作系统环境分隔开来,节码程序和具体的硬件平台以及操作系统环境分隔开来,只要在不同的计算机上安装了针对于特定具体平台的只要在不同的计算机上安装了针对于特定具体平台的JVMJVM,JavaJava程序就可以运行,而不用考虑当前具体的硬程序就可以运行,而不用考虑当前具体的硬件平台及操作系统环境,也不用考虑字节码文件是在何件平台及操作系统环境,也不用考虑字节码文件是在何种平台上生成的。种平台上生成的。 JVMJVM是是JavaJava平台无关的基础,平台无关的基础,

57、JavaJava的的跨平台特性正是通过在跨平台特性正是通过在JVMJVM中运行中运行JavaJava程序实现的,需程序实现的,需要注意的是要注意的是 JVMJVM是不跨平台的。是不跨平台的。 八、八、 JAVA的技术产品和术语的技术产品和术语 Java Java 虚拟机虚拟机(JVM)(JVM)Java Java 运行期环境运行期环境(JRE)(JRE)应用程序编程接口应用程序编程接口(API)(API)Java 2Java 2,Java 2 PlatformJava 2 Platform,J2 SDK(SoftwareDeveloperJ2 SDK(SoftwareDevelopers Ki

58、t)s Kit)J2 SDKJREJVM1.3 Java1.3 Java的运行环境介绍的运行环境介绍 一、一、 JavaJava开发工具开发工具J2SDKJ2SDK简介简介 Java 开发工具箱开发工具箱(JDK- Java Development Kit)是是Sun公司为用户提供的集成和执行公司为用户提供的集成和执行applets和应用程序的和应用程序的工具工具, 一种用于构建在一种用于构建在 Java 平台上发布的应用程序、平台上发布的应用程序、applet 和组件的开发环境。和组件的开发环境。 JDK是一切是一切java应用程序的基础,所有的应用程序的基础,所有的java应用程应用程序是

59、构建在这个之上的。它是一组序是构建在这个之上的。它是一组API,也可以说是一些,也可以说是一些java Class。 二、常用的二、常用的JAVA命令介绍命令介绍1、javac javac:是:是JAVA的编译器,它将的编译器,它将Java源文源文件转换成字码文件。件转换成字码文件。 语法:语法: javac 2、java java:是:是JAVA的翻译器,用于执行编译过的翻译器,用于执行编译过的的 Java应用程序。应用程序。 语法:语法: java 3、appletviewer Applets:是:是applet程序调试工具,类似于程序调试工具,类似于Web浏览器的功能。浏览器的功能。 语

60、法:语法: appletviewer 4、 javap反汇编程序反汇编程序 javap:是:是JAVA的反汇编程序,可以从字节的反汇编程序,可以从字节码文件恢复码文件恢复java原代码。原代码。 语法:语法: javap 文件名由空格分隔文件名由空格分隔5、 javadoc工具工具 javadoc:是:是JAVA的文档发生器,利用此的文档发生器,利用此工具,可以为所编写的源文件生成工具,可以为所编写的源文件生成HTML文档,文档,其中包括对类和接口的描述、类的继承层次以其中包括对类和接口的描述、类的继承层次以及类中任何非私有域的索引和介绍。及类中任何非私有域的索引和介绍。 语法:语法: jav

温馨提示

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

评论

0/150

提交评论