Java基础教程学习

上传人:新**** 文档编号:58103649 上传时间:2022-02-26 格式:DOCX 页数:5 大小:22.64KB
收藏 版权申诉 举报 下载
Java基础教程学习_第1页
第1页 / 共5页
Java基础教程学习_第2页
第2页 / 共5页
Java基础教程学习_第3页
第3页 / 共5页
资源描述:

《Java基础教程学习》由会员分享,可在线阅读,更多相关《Java基础教程学习(5页珍藏版)》请在装配图网上搜索。

1、第1部分Java语言第1章Ja/a的起源对于计算机语言的发展史,业界一般认为:B语言导致了C语言的诞生,C语言演变出了C+语言,而C+语言将让位于JavM言。要想更好地了解JavM言,就必须了解它产生的原因、推动它发展的动力,以及它对其他语言的继承。像以前其他成功的计算机语言一样,Java承了其他语言的先进原理,同时又因其独特的环境要求而提出了一些创新性的概念。在这本书的其他各章中,将从实用的角度,对JavM言、库及应用程序进行包括语法在内的详细介绍。在本章里,我们将介绍JavM言产生的背景、发展过程,以及使它变得如此重要的原因。尽管JavM言已和Internet在线环境密不可分,但首先应该注

2、意到的最重要一点是:它是一种程序语言。计算机语言的革新和发展需要2个基本因素的驱动:适应正在变化的环境和需求实现编程艺术的完善与提高卜面你将看到,Java正是在这两个因素的驱动下产生的。1. 1Java勺由来Java是和C+联系在一起,而C+则是从C语言派生而来的,所以Java言继承了这两种语言的大部分特性。Java语法是从C继承的,Jav许多面向对象的特性受到C+勺影响。事实上,Java几个自定义的特性都来自于或可以追溯到它的前驱。而且,Java言的产生与过去3阡中计算机语言细致改进和不断发展密切相关。基于这些原因,本节将按顺序回顾促使Java生的事件和推动力。正如你将看到的一样,每一次语言

3、设计的革新都是因为先前的语言不能解决目前遇到的基本问题而引起。Java不例外。1.1.1 现代的编程语言的诞生:C语言C语言的产生震撼了整个计算机界。它的影响不应该被低估,因为它从根本上改变了编程的方法和思路。C语言的产生是人们追求结构化、高效率、高级语言的直接结果,可用它替代汇编语言开发系统程序。当设计一种计算机语言时,经常要从以下几方面进行权衡:易用性与功能安全性和效率性稳定性和可扩展性C语言出现以前,程序员们不得不经常在有优点但在某些方面又有欠缺的语言之间做出选择。例如,尽管公认FORTR/m学计算应用方面可以编写出相当高效的程序,但它不适于编写系统程序。BASIC!然容易学习,但功能不

4、够强大,并且谈不上结构化,这使它应用到大程序的有效性受到怀疑。汇编语言虽能写出高效率的程序,但是学习或有效地使用它却是不容易的。而且,调试汇编程序也相当困难。另一个复杂的问题是,早期设计的计算机语言(如BASICCOBOLFORTRAN没有考虑结构化设计原则,使用GOT糜句作为对程序进行控制的一种主要方法。这样做的结果是,用这些语言编写的程序往往成了“意大利面条式的程序代码”,一大堆混乱的跳转语句和条件分支语句使得程序几乎不可能被读懂。Pascal然是结构化语言,但它的设计效率比较低,而且缺少几个必需的特性,因而无法在大的编程范围内使用(特别是,给定的Pascal标准语言在特定时间是可用的,但

5、将Pasd为系统级编码是不切实际的)。因此,在C语言产生以前,没有任何一种语言能完全满足人们的需要,但人们对这样一种语言的需要却是迫切的。在201纪7砰代初期,计算机革命开始了,对软件的需求量日益增加,使用早期的计算机语言进行软件开发根本无法满足这种需要。学术界付出很多努力,尝试创造一种更好的计算机语言。但是,促使C语言诞生的另一个,也许是最重要的因素,是计算机硬件资源的富余带来了机遇。计算机不再像以前那样被紧锁在门里,程序员们可以随意使用计算机,可以随意进行自由尝试,因而也就有了可以开发适合自己使用的工具的机会。所以,在C语言诞生的前夕,计算机语言向前飞跃的时机已经成熟。在DennisRit

6、Chie个发明和实现在DECPDP-1运行UNI腰作系统时,一种更古老的由MartirRichards计的BCP语言导致了曲言的产生。受BCP语言的影响,由KenThompsO朋的B语言,在20s纪7叶代逐渐向C语言发展演变。在此后的许多年里,由BrianKernighaDennisRitChie的TheCProgramming珍aPguatice-Ha978)198年 12被认为是事实上的C语言标准,该书认为C只是支持UNIX操作系统的一种语言。月,美国国家标准化组织(ANS制定了C语言的标准,C语言被正式标准化。许多人认为C语言的产生标志着现代计算机语言时代的开始。它成功地综合处理了长期困

7、扰早期语言的矛盾属性。C语言是功能强大、高效的结构化语言,简单易学,而且它还包括一个无形的方面:它是程序员自己的语言。在C语言出现以前,计算机语言要么被作为学术实验而设计,要么由官僚委员会设计。而C语言不同。它的设计、实现、开发由真正的从事编程工作的程序员来完成,反映了现实编程工作的方法。它的特性经由实际运用该语言的人们不断去提炼、测试、思考、再思考,使得C语言成为程序员们喜欢使用的语言。确实,C语言迅速吸引了许多狂热的追随者,因而很快受到许多程序员的青睐。简言之,C语言是由程序员设计并由他们使用的一种语言。正如你将看到的,Java承了这个思想。1.1.2 对C+的需要在201纪7砰代末和8叶

8、代初,C成为了主流的计算机编程语言,至今仍被广泛使用。你也许会问,既然C是一种成功且有用的语言,为什么还需要新的计算机语言?答案是复杂性(complexity程序越来越复杂这一事实贯穿编程语言的历史。C+正是适应了这一需求。下面介绍为什么对程序复杂性的更好管理是C+产生的基本条件。自从计算机发明以来,编程方法经历了戏剧性的变化。例如,当计算机刚发明出来时,编程是通过面板触发器用人工打孔的办法输入二进制机器指令来实现的。对于只有几百行的程序,这种办法是可行的。随着程序不断增大,人们发明了汇编语言,它通过使用符号来代替机器指令,这样程序员就能处理更大、更复杂的程序。随着程序的进一步增大,高级语言产

9、生了,它给程序员提供了更多的工具来处理复杂性问题。第一个被广泛使用的高级语言当然是FORTRANt管FORTR蒯初给人留下了深刻的印象,但它无法开发出条理清楚易于理解的程序。201纪6砰代提出了结构化编程方法。这种结构化的编程思想被像C这样的语言所应用,第一次使程序员可以相对轻松地编写适度复杂的程序。然而,当一个工程项目达到一定规模后,即使使用结构化编程方法,编程人员也无法对它的复杂性进行有效管理。2cB纪8(#代初期,许多工程项目的复杂性都超过了结构化方法的极限。为解决这个问题,面向对象编程(object-orienpedgrammingOOP新方法诞生了。面向对象的编程在这本书的后面详细讨

10、论,但在这里给出一个简短的定义:面向对象的编程是通过使用继承性、封装性和多态性来帮助组织复杂程序的编程方法。总之,尽管C是世界上伟大的编程语言之一,但它处理复杂性的能力有限。一旦一个程序的代码超过25000700H0僦很难从总体上把握它的复杂性了。C+突破了这个限制,帮助程序员理解并且管理更大的程序。197笄,当BjarneStroustrU新泽西州的MurraHill实验室工作时,发明了C+StroustrUp初把这种新语言称为“带类的C。198鸵,改名为C+C+通过增加面向对象的特性扩充了Q因为C+产生在C的基础之上,因此它包括了C所有的特征、属性和优点。这是C+作为语言成功的一个关键原因

11、。C+的发明不是企图创造一种全新的编程语言,而是对一个已经高度成功的语言的改进。C+199笄11月被标准化,目前的标准是ANSI/ISO1.1.3 Java出现的时机已经到来在20s纪8砰代末和9叶代初,使用面向对象编程的C+语言占主导地位。的确,有一段时间程序员似乎都认为已经找到了一种完美的语言。因为C+有面向对象的特征,又有C语言高效和格式上的优点,因此它是一种可以被广泛应用的编程语言。然而,就像过去一样,推动计算机语言进化的力量正在酝酿。在随后的几年里,万维网(WW、W和Internet达到临界状态。这个事件促成编程的另一场革命。1.2 Java勺产生JavOb由JamesGosPngr

12、ickNaughChnisWarEdFrankMikeSheridan1991年在SunMicrosystems设计出来的。开发第一个版本花了1阶月。该语言开始名叫“Oak,于1995更名为“JaVao从1992勺秋天Oak世到1995春天公开发布Java语言,许多人对JavOl设计和改进做出了贡献。BillJoyArthurvanHofOnathanPayneFrankYeflMTimLindhOlmfc要的贡献者,正是他们的贡献使最初原型得以成熟。说起来多少有些令人吃惊,Java最初推动力并不是因特网!而是源于对独立于平台(也就是体系结构中立)语言的需要,这种语言可创建能够嵌入微波炉、遥控

13、器等各种家用电器设备的软件。用作控制器的CP曲片是多种多样的,但C和C+以及其他绝大多数语言的缺点是只能对特定目标进行编译。尽管为任何类型的CP曲片编译C+程序是可能的,但这样做需要一个完整的以该CPU;目标的C+编译器,而创建编译器是一项既耗资巨大又耗时较长的工作。因此需要一种简单且经济的解决方案。为了找到这样一种方案,Gosling和其他人开始一起致力于开发一种可移植、跨平台的语言,该语言能够生成运行于不同环境、不同CP曲片上的代码。他们的努力最终促成了Java诞生。在Jav的一些细节被设计出来的同时,第二个并且也是最重要的因素出现了,该因素将对Jav的未来起着至关重要的作用。这第二个因素

14、当然就是万维网(WWW/。如果万维网(WWW/的成型和Java实现不是同时发生的话,那么Jav笛能保持它有用、但默默无闻的用于电子消费品编程语言的状态。然而,随着万维网的出现,Jav被推到计算机语言设计的最前沿,因为万维网也需要可移植的程序。绝大多数程序员在涉足编程领域时就知道可移植的程序像他们的理想一样难以捉摸。尽管人们对高效的、可移植的(独立于平台)编程方式的追寻几乎和编程历史一样久远,但它总是让位于其他的更为紧迫的问题。此外,因为计算机业被IntelMacintoshUNIX这3个竞争对手垄断,大多数程序员都在其中的某个领域内长期工作,所以对可移植语言的需求就不是那么迫切。但是,随着因特

15、网和We的出现,关于可移植性语言的旧问题又被提了出来。毕竟,因特网由不同的、分布式的系统组成,其中包括各种类型的计算机、操作系统和CPU尽管许多类型的平台都可以与因特网连接,但用户仍希望他们能够运行同样的程序。曾经是一个令人烦恼却无需优先考虑的问题现在变成了急需解决的问题。1993,Java计小组的成员发现他们在编制嵌入式控制器代码时经常遇到的可移植性问题,在编制因特网代码的过程中也出现了。事实上,开始被设计为解决小范围问题的Java言同样可以被用在大范围的因特网上。这个认识使他们将Java重心由电子消费品转移到Intern编程。因此,中立体系结构编程语言的需要是促使Java生的源动力,而In

16、ternet却最终导致了Java成功。正如前面提到的,Jav的大部分特性是从C和C+用继承的。Java计人员之所以故意这么做,主要是因为他们觉得,在新语言中使用熟悉的C语法及模仿C+程向对象的特性,将使他们的语言对经验丰富的C/C+程序员有更大的吸引力。除了表面类似外,其他一些促使C和C+成功的因素也帮了Jav的忙。首先,Java设计、测试、精炼由真正从事编程工作的人员完成,它根植于设计它的人员的需要和经验,因而也是一个程序员自己的语言。其次,Java紧密结合的且逻辑上是协调一致的。最后,除了那些Intern境强加的约束以外,Java了编程人员完全的控制权。如果你程序编的好,你编写的程序就能反

17、映出这一点。相反,如果你的编程手法拙劣,也能在你的程序中反映出来。换一种说法,Jav静不是训练新手的语言,而是供专业编程人员使用的语言。由于JavaC+之间的相似性,容易使人将Java单地想象为“C+勺版本”。但其实这是一种误解。Ja唯实践和理论上都与C+有重要的不同点。尽管Jav受到C+的影响,但它并不是C+的增强版。例如,JavOfC+既不向上兼容,也不向下兼容。当然,JavOfC+的相似之处也是很多的,如果你是一个C+程序员,你会感觉到对Java常熟悉。另外一点是:Java不是用来取代C+的,设计Java为了解决某些特定的问题,而设计C+是为了解决另外一类完全不同的问题。两者将长时间共存

18、。正如本章开始提到的,计算机语言的革新靠两个因素驱动:对计算环境改变的适应和编程艺术的进步。环境的变化促使Jav这种独立于平台的语言注定成为Internet的分布式编程语言。同时,Jav也改变了人们的编程方式,特别是JavaC+使用的面向对象范例进行的增强和完善。所以,Java是孤立存在的一种语言,而是计算机语言多年来的演变结果。仅这个事实就足以证明Java计算机语言历史上的地位。JavOtInternet程的影响就如同C对系统编程的影响一样:革命的力量将改变世界。1.3 Java寸Intere的什么重要InternetJav成为网上最流行的编程语言,同时JavaIntern的影响也意义深远。

19、原因相当简单:Jav扩展了可以在赛百空间自由流动的对象的世界。在网络中,有两大类对象在服务器和个人计算机之间传输:被动的信息和动态的、主动的程序。例如,当你阅读电子邮件时,你在看被动的数据。甚至当你下载一个程序时,该程序的代码也是被动的数据,直到你执行它为止。但是,可以传输到个人计算机的另一类对象却是:动态的、可自运行的程序,虽然这类程序是客户机上的活动代理,但却是由服务器来初始化的。例如,被服务器用来正确地显示服务器传送数据的程序。网上程序在动态性上是令人满意的,但它们在安全性和可移植性方面也显示出严重的缺陷。在Jav乔生以前,当前赛百空间有一半的对象实体无法进入网络世界,是Java它们打开

20、了便利之门,而且在这个过程中定义了一种全新的程序形式:applet(应用程序)。1.3.1 Java小应用程序和应用程序Java用来生成两类程序:应用程序(applicationsJavaapplet应用程序)。应用程序是可以在你的计算机的操作系统中运行的程序,从这一方面来说,用Ja斓制的应用程序多多少少与使用C或C+编制的应用程序有些类似。在创建应用程序时,Java其他计算机语言没有大的区别。而Java重要性就在于它具有编制小应用程序的功能。小应用程序是可以在Intern由传输并在兼容JavaWeb)览器中运行的应用程序。小应用程序实际上就是小型的Java序,能像图像文件、声音文件和视频片段那样通过网络动态下载,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!