ch01 - Java简介.ppt
《ch01 - Java简介.ppt》由会员分享,可在线阅读,更多相关《ch01 - Java简介.ppt(75页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Java语言程序设计郑州大学信息工程学院王振飞2012.8TIOBE世界编程语言排行榜2011年3月榜单 参考书目参考书目oJava语言程序设计.基础篇(原书第8版),李娜(译)机械工业出版社,2011-6 oJava语言程序设计(第2版),郎波 清华大学出版社 2010-9oJava语言程序设计 辛运帏,人民邮电出版社 2009-10oJava EE基础实用教程 郑阿奇 电子工业出版社 2011-2 oJava Web程序设计教程 范立锋 人民邮电出版社 2010-4 教材Java 语言程序设计基础原书第8版(美)Y.Daniel Liang机械工业出版社给大家提供英文版电子书学习编程语言的
2、方法一个程序设计高手从来不是看书看出来的,而是上机动手练出来的!The best way to start programming is to have a terminal running an interactive language and a friend sitting nearby who already knows the language and has something else to do but can be interrupted with questions.And you just try stuff,till more and more you get the
3、feel of it.And you find yourself writing programs that work.Nelson,Ted,Computer Lib,Microsoft Press,1987 Java程序设计第1章 Java语言简介学习目标o了解Java及其发展史o掌握创建、编译、运行Java程序o理解Java运行环境o掌握编写简单的应用程序o掌握在控制台和对话框中显示数据o它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几
4、近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。oJava是一个面向对象的程序设计语言,它继承了 C+面向对象技术的核心,舍弃了C+中容易引起错误的指针(以引用取代)、多重继承(以接口取代)等特性,增加了垃圾回收等功能(用于回收不再被引用的对象所占据的内存空间,使程序员不再为内存管理担忧)。Java HistoryJava HistoryoJava 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨
5、平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。JAVA名字的起源oJava的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。Java与C/C+的区别oJava中对内存的分配是动态的oJava不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的变量来完
6、成全局变量的功能。oJava不用goto语句,而是用try-catch-finally异常处理语句来代替goto语句处理出错的功能。oJava不支持头文件oJava不支持宏定义,而是使用关键字final来定义常量oJava对每种数据类型都分配固定长度。o类型转换时要进行类型相容性检查。o不包含结构和联合。oJava不再使用指针o避免平台依赖Java语言的问世oSun公司在“Java白皮书”中是这样对Java进行定义的:o Java:A simple,object-oriented,distributed,interpreted,robust,secure,architecture-neutra
7、l,portable,high-performance,multi-threaded,and dynamic language。即即JavaJava是一种具有是一种具有:简单的、简单的、面向对象的、面向对象的、分布式的、分布式的、解释型的、解释型的、强壮的、强壮的、安全的、安全的、体系结构中立的、体系结构中立的、可移植的、可移植的、高性能的、高性能的、多线程的、多线程的、动态的语言。动态的语言。Java的特征o简单o面向对象o分布式o解释性o健壮性o安全性o与体系结构无关o可移植性o高性能o多线程特性之一特性之一简单性简单性JavaJavaJavaJava语言的简单性主要出于如下几种因素语言的
8、简单性主要出于如下几种因素语言的简单性主要出于如下几种因素语言的简单性主要出于如下几种因素:JavaJava的的的的风风风风格格格格类类类类似似似似于于于于C+.C+.因因因因而而而而对对对对C+C+程程程程序序序序员员员员而而而而言言言言是是是是非非非非常常常常熟熟熟熟悉悉悉悉的的的的;从从从从某某某某种种种种意意意意义义义义上上上上讲讲讲讲,JavaJava语语语语言言言言本本本本身身身身是是是是C C及及及及C+C+的的的的一一一一个个个个变变变变种种种种,因因因因此此此此,C+C+程程程程序序序序员员员员可可可可以以以以很很很很快快快快掌掌掌掌握握握握JavaJava编编编编程技术程技
9、术程技术程技术;JavaJava摒弃了摒弃了摒弃了摒弃了C+C+中容易引发程序错误的地方,中容易引发程序错误的地方,中容易引发程序错误的地方,中容易引发程序错误的地方,如指针和内存管理;如指针和内存管理;如指针和内存管理;如指针和内存管理;JavaJava提供了自动内存垃圾搜集机制,从而减提供了自动内存垃圾搜集机制,从而减提供了自动内存垃圾搜集机制,从而减提供了自动内存垃圾搜集机制,从而减轻了编程人员进行内存管理的负担,有助于轻了编程人员进行内存管理的负担,有助于轻了编程人员进行内存管理的负担,有助于轻了编程人员进行内存管理的负担,有助于减少软件错误;减少软件错误;减少软件错误;减少软件错误;
10、JavaJava是完全面向对象的,它是最容易学习的面是完全面向对象的,它是最容易学习的面是完全面向对象的,它是最容易学习的面是完全面向对象的,它是最容易学习的面向对象编程语言之一,同时它还提供了大量可向对象编程语言之一,同时它还提供了大量可向对象编程语言之一,同时它还提供了大量可向对象编程语言之一,同时它还提供了大量可重用的类库。重用的类库。重用的类库。重用的类库。JavaJava的简单性是以增加运行时系统的复杂性为的简单性是以增加运行时系统的复杂性为的简单性是以增加运行时系统的复杂性为的简单性是以增加运行时系统的复杂性为代价的。以内存管理为例,自动内存垃圾处理减代价的。以内存管理为例,自动内
11、存垃圾处理减代价的。以内存管理为例,自动内存垃圾处理减代价的。以内存管理为例,自动内存垃圾处理减轻了面向对象编程的负担,但轻了面向对象编程的负担,但轻了面向对象编程的负担,但轻了面向对象编程的负担,但JavaJava运行时系统却运行时系统却运行时系统却运行时系统却必须内嵌一个内存管理模块。但无论如何,对编必须内嵌一个内存管理模块。但无论如何,对编必须内嵌一个内存管理模块。但无论如何,对编必须内嵌一个内存管理模块。但无论如何,对编程人员而言,程人员而言,程人员而言,程人员而言,JavaJava的简单性只会是一个优点,它的简单性只会是一个优点,它的简单性只会是一个优点,它的简单性只会是一个优点,它
12、可以使我们的学习曲线更趋合理化,加快我们的可以使我们的学习曲线更趋合理化,加快我们的可以使我们的学习曲线更趋合理化,加快我们的可以使我们的学习曲线更趋合理化,加快我们的开发进度,减少程序出错的可能性。开发进度,减少程序出错的可能性。开发进度,减少程序出错的可能性。开发进度,减少程序出错的可能性。特性之一特性之一简单性简单性特性之二特性之二面向对象面向对象所有面向对象的编程语言至少具备以下四个特点:所有面向对象的编程语言至少具备以下四个特点:所有面向对象的编程语言至少具备以下四个特点:所有面向对象的编程语言至少具备以下四个特点:1.1.1.1.封装性(封装性(封装性(封装性(Encapsulat
13、ionEncapsulationEncapsulationEncapsulation):):):):必须有模块化(必须有模块化(必须有模块化(必须有模块化(modularitymodularitymodularitymodularity)的性质以及信息隐藏的性质以及信息隐藏的性质以及信息隐藏的性质以及信息隐藏(information hidinginformation hidinginformation hidinginformation hiding)的能力。的能力。的能力。的能力。2.2.2.2.多态性(多态性(多态性(多态性(PolymorphismPolymorphismPolymor
14、phismPolymorphism):):):):不同的对象对同一种信息,可以按照对象本身的不同的对象对同一种信息,可以按照对象本身的不同的对象对同一种信息,可以按照对象本身的不同的对象对同一种信息,可以按照对象本身的性质加以回应。性质加以回应。性质加以回应。性质加以回应。3.3.3.3.继承性(继承性(继承性(继承性(InheritanceInheritanceInheritanceInheritance):):):):可可可可以以以以定定定定义义义义一一一一套套套套对对对对象象象象之之之之间间间间的的的的层层层层次次次次关关关关系系系系,下下下下层层层层的的的的对对对对象象象象继继继继承承
15、承承了了了了上上上上层层层层对对对对象象象象的的的的特特特特性性性性,籍籍籍籍此此此此可可可可以以以以实实实实现现现现程程程程序序序序代代代代码码码码重重重重复利用,并且有效的组织整个程序。复利用,并且有效的组织整个程序。复利用,并且有效的组织整个程序。复利用,并且有效的组织整个程序。4.4.4.4.动态联编(动态联编(动态联编(动态联编(Dynamic bindingDynamic bindingDynamic bindingDynamic binding):):):):一旦对象生成以后,要使用这个对象只需简单地把一旦对象生成以后,要使用这个对象只需简单地把一旦对象生成以后,要使用这个对象只
16、需简单地把一旦对象生成以后,要使用这个对象只需简单地把信息传递给它,不再需要去参考对象当初设计时的规信息传递给它,不再需要去参考对象当初设计时的规信息传递给它,不再需要去参考对象当初设计时的规信息传递给它,不再需要去参考对象当初设计时的规格。只在程序执行时,才会真正锁定需要的对象,这格。只在程序执行时,才会真正锁定需要的对象,这格。只在程序执行时,才会真正锁定需要的对象,这格。只在程序执行时,才会真正锁定需要的对象,这样的方式可以使程序设计具有最大的灵活性。样的方式可以使程序设计具有最大的灵活性。样的方式可以使程序设计具有最大的灵活性。样的方式可以使程序设计具有最大的灵活性。JavaJavaJ
17、avaJava语言是一门面向对象语言,因此它具有以语言是一门面向对象语言,因此它具有以语言是一门面向对象语言,因此它具有以语言是一门面向对象语言,因此它具有以上四个特点。上四个特点。上四个特点。上四个特点。JavaJavaJavaJava语言的设计集中于对象及其接口,语言的设计集中于对象及其接口,语言的设计集中于对象及其接口,语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象它提供了简单的类机制以及动态的接口模型。对象它提供了简单的类机制以及动态的接口模型。对象它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模中封装了它的状态变量以
18、及相应的方法,实现了模中封装了它的状态变量以及相应的方法,实现了模中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏块化和信息隐藏块化和信息隐藏块化和信息隐藏;而类则提供了一类对象的原型,并而类则提供了一类对象的原型,并而类则提供了一类对象的原型,并而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,且通过继承机制,子类可以使用父类所提供的方法,且通过继承机制,子类可以使用父类所提供的方法,且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。实现了代码的复用。实现了代码的复用。实现了代码的复用。特性之三特性之三分布式分布式分布式包括数据分布和操作分布
19、。分布式包括数据分布和操作分布。分布式包括数据分布和操作分布。分布式包括数据分布和操作分布。数据分布是指数据可以分散存放于网络上的不同主机数据分布是指数据可以分散存放于网络上的不同主机数据分布是指数据可以分散存放于网络上的不同主机数据分布是指数据可以分散存放于网络上的不同主机;操作分布则指把计算分散由不同主机进行处理。操作分布则指把计算分散由不同主机进行处理。操作分布则指把计算分散由不同主机进行处理。操作分布则指把计算分散由不同主机进行处理。对于操作分布,对于操作分布,对于操作分布,对于操作分布,JavaJavaJavaJava的客户机的客户机的客户机的客户机/服务器模式可以服务器模式可以服务
20、器模式可以服务器模式可以把运算从服务器分散到客户一端,提高整个系统的把运算从服务器分散到客户一端,提高整个系统的把运算从服务器分散到客户一端,提高整个系统的把运算从服务器分散到客户一端,提高整个系统的执行效率,避免瓶颈制约,增加动态可扩充性。执行效率,避免瓶颈制约,增加动态可扩充性。执行效率,避免瓶颈制约,增加动态可扩充性。执行效率,避免瓶颈制约,增加动态可扩充性。对对对对于于于于编编编编程程程程人人人人员员员员来来来来说说说说,JavaJavaJavaJava的的的的网网网网络络络络类类类类库库库库是是是是对对对对分分分分布布布布式式式式编编编编程程程程的的的的最最最最好好好好支支支支持持持
21、持。JavaJavaJavaJava网网网网络络络络类类类类库库库库是是是是支支支支持持持持TCP/IPTCP/IPTCP/IPTCP/IP协议的子例程库。协议的子例程库。协议的子例程库。协议的子例程库。特性之三特性之三分布式分布式 字字字字节节节节码码码码(Byte Byte Byte Byte CodeCodeCodeCode)提提提提供供供供了了了了一一一一种种种种结结结结构构构构中中中中立立立立的的的的对对对对象象象象文文文文件件件件格格格格式式式式,该该该该格格格格式式式式设设设设计计计计成成成成可可可可在在在在多多多多种种种种平平平平台台台台上上上上有有有有效效效效运运运运行行行行
22、的的的的程程程程序序序序。JavaJavaJavaJava语语语语言言言言的的的的程程程程序序序序可可可可在在在在提提提提供供供供JavaJavaJavaJava语语语语言言言言解解解解释释释释器器器器和和和和实实实实时时时时运运运运行行行行系系系系统统统统的的的的任任任任意意意意环环环环境境境境上上上上运运运运行行行行。JavaJavaJavaJava解解解解释释释释器器器器直直直直接接接接对对对对JavaJavaJavaJava字字字字节节节节码码码码进进进进行行行行解解解解释释释释执执执执行行行行。字字字字节节节节码码码码本本本本身身身身携携携携带带带带了了了了许许许许多多多多编编编编译
23、译译译时时时时的的的的信信信信息息息息,使使使使得得得得连连连连接接接接过过过过程程程程更更更更加简单。加简单。加简单。加简单。特性之四特性之四解释执行解释执行源程序源程序编译编译字节码字节码虚拟机 JavaJavaJavaJava在在在在编编编编译译译译和和和和运运运运行行行行程程程程序序序序时时时时,都都都都要要要要对对对对可可可可能能能能出出出出现现现现的的的的问问问问题题题题进进进进行行行行检检检检查查查查,以以以以消消消消除除除除错错错错误误误误的的的的产产产产生生生生。它它它它提提提提供供供供自自自自动动动动垃垃垃垃圾圾圾圾收收收收集集集集来来来来进进进进行行行行内内内内存存存存管
24、管管管理理理理,防防防防止止止止程程程程序序序序员员员员在在在在管管管管理理理理内内内内存存存存时时时时容容容容易易易易产产产产生生生生的的的的错错错错误误误误。通通通通过过过过集集集集成成成成的的的的面面面面向向向向对对对对象象象象的的的的例例例例外外外外处处处处理理理理机机机机制制制制,在在在在编编编编译译译译时时时时,JavaJavaJavaJava提提提提示示示示出出出出可可可可能能能能出出出出现现现现但但但但未未未未被被被被处处处处理理理理的的的的例例例例外外外外,帮帮帮帮助助助助程程程程序序序序员员员员正正正正确确确确地地地地进进进进行行行行选选选选择择择择以以以以防防防防止止止止
25、系系系系统统统统的的的的崩崩崩崩溃溃溃溃。另另另另外外外外,JavaJavaJavaJava在在在在编编编编译译译译时时时时还还还还可可可可捕捕捕捕获获获获类类类类型型型型声声声声明明明明中中中中的的的的许许许许多多多多常常常常见见见见错错错错误误误误,防止动态运行时不匹配问题的出现。防止动态运行时不匹配问题的出现。防止动态运行时不匹配问题的出现。防止动态运行时不匹配问题的出现。特性之五特性之五健壮性健壮性 特性之六特性之六安全性安全性 Java Java Java Java不支持指针不支持指针不支持指针不支持指针,一切对内存的访问都必须通,一切对内存的访问都必须通,一切对内存的访问都必须通,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch01 Java简介 Java 简介
限制150内