第1部分 编程基础.doc_第1页
第1部分 编程基础.doc_第2页
第1部分 编程基础.doc_第3页
第1部分 编程基础.doc_第4页
第1部分 编程基础.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第1章 Java简介 7第1部分 编 程 基 础现在,您已经对Java有了很多了解,一定急于想编写Java程序了。本书的第1部分是开始Java学习之旅的基石。您将开始熟悉Java,并学习基本的编程技能,还将特别学习如何使用基本数据类型、控制语句、方法和数组编写简单的Java程序。第1章 Java简介本章学习目标: 学习Java及其发展史 理解Java和World Wide Web之间的关系 创建、编译和运行Java程序 理解Java的运行环境 编写简单的Java应用程序 将输出显示在控制台和对话框内1.1 引言现在,您已经了解了许多有关Java编程语言的激动人心的功能。看起来好像Java无处不在!当地书店里摆满了有关Java的书籍。每份主要的报纸、每本主要杂志上都有关于Java的文章。在阅读计算机杂志时,如果没有遇到Java这个充满魔力的字眼是绝对不可能的。您一定很想知道为什么Java如此热门。答案就是,它使用户可以在因特网上为服务器、桌面计算机和小型手持设备部署应用程序。实际上,这是Java最显著的特征。计算技术的未来将很大程度上受到因特网的影响,Java很有希望在这个前景下保留自己的主体位置。Java是因特网编程语言。我们将开始学习强大的编程语言的激动人心的旅程了。Java是跨平台、面向对象、基于网络及支持多媒体的语言。自1995年5月发布以来,Java很快成为开发因特网应用程序的极具魅力的语言。本章介绍了Java及其编程特征,以及Java应用程序的一个简单 例子。注意:本书假定读者有一定的计算机知识。如果您对诸如CPU、内存、硬盘、操作系统和编程语言之类的术语不熟悉,请阅读本书配套Web站点上的“Computer Basics”。1.2 Java的发展史Java由Sun Microsystems(以Sun工作站而出名的一家公司)的James Gosling领导的工作组开发。最初叫做Oak,是在1991年为嵌入式顾客电器应用程序设计的。1995年,重命名为Java,被重新设计用来开发因特网应用程序。Java程序可以嵌入在HTML页中,由Web浏览器下载,为Web客户带来动画和交互式的享受。因为它是通用的编程语言,Java的强大功能还不仅限于Web应用程序。它的编程功能完备,可以用于开发单独的应用程序。Java是天生面向对象的。虽然许多面向对象的语言一开始就是严格的过程式语言,Java却从一开始就被设计为面向对象的。面向对象编程(OOP)是一种取代传统过程式编程技术的流行编程方法。注意:软件开发过程中的一个中心问题是如何重用代码。面向对象的编程通过封装、继承和多态性(这些都将在本书学到)提供了很大的灵活性、模块性、清楚性和可重用性。1.3 Java的特征Java现已极为流行。Java的快速发展和广泛被接受可归因于其设计和编程特征,尤其是它的编写一次程序可随处运行的承诺。与Sun公司在Java语言白皮书中声明的一样,Java是简单的、面向对象的、分布式的、解释性的、强大的、安全的、与体系结构无关的、可移值的、高性能的、多线程的及动态的。让我们来分析一下这些常用的词汇。1.3.1 Java的简单性没有一种语言是简单的,但是比起其他流行的面向对象编程语言如C+(在Java之前它曾主宰了软件开发语言)来说,Java是相对简单的。Java有些部分模仿了C+,但是很大程度上对C+进行了简化和改进。例如,指针和多重继承通常使编程变得复杂。Java用一种称为“接口”的简单语言构造取代了C+中的多重继承,并取消了指针。Java使用动态内存分配和无用单元收集,而C+需要程序员分配内存和收集无用单元。同时,对这样强大的语言来说,它的语言构造数目又很少。简洁的语法使Java程序易于编写和阅读。一些人喜欢将Java称为“C+”,因为它像C+,但却拥有更多功能和更少消极的方面。1.3.2 Java的面向对象性计算机程序也就是计算机的指令集合。可以通过程序告诉计算机做什么。没有程序,计算机只是一个空壳。计算机不懂人类语言,因此需要用计算机语言与之进行交流。目前大约有100多种编程语言,其中最流行的语言有:COBOL(COmmon Business Oriented Language,面向普通商务的语言)FORTRAN(FORmula TRANslation,公式翻译)BASIC(Beginner All-purpose Symbolic Instructional Code,面向初学者的通用符号化指令代码)Pascal(以Blaise Pascal命名)Ada(以Ada Lovelace命名)C(因为它的开发者首先设计B而得名)Visual Basic(Microsoft开发的类似于Basic的可视化语言)Delphi(Borland开发的类似于Pascal的可视化语言)C+(基于C的面向对象语言)这些语言都是为特定的目的设计的。COBOL是为商务应用程序设计的,现在主要用于处理商务数据。FORTRAN设计用来进行数学运算。BASIC与其名字的含义一样,为便于学习和使用而设计。Pascal设计为一种简单结构的编程语言。Ada是按照美国国防部的指示开发的,主要用于国防工程。C在系统软件工程开发(如编写编译器和操作系统)中很流行。Visual Basic和Delphi为快速应用程序开发而设计。C+是具有面向对象特征的C语言。所有这些语言(除C+之外)都是过程式编程语言。使用过程式编程语言的软件系统开发是基于过程范型的。面向对象编程以术语“对象”模拟现实世界。世界上的每件事物都可以模拟为对象。一个圆是一个对象,一个人是一个对象,一个窗口图标也是一个对象,甚至抵押也可以作为对象。Java程序是面向对象的,因为在Java中编程的重点是创建对象、操纵对象及使对象协同工作。第1部分“编程基础”介绍了基本数据类型和操作、控制语句、方法及数组。这些对所有编程语言来讲都是基础。本书将在第2部分“面向对象编程”中学习面向对象的编程知识。面向对象编程提供了很大的灵活性、模块性和可重用性。几年来,面向对象技术被认为是杰出的成果,需要培训及基础结构上的大量投资。Java帮助面向对象技术进入了计算机的主流。其简单性、简洁的语法使程序便于读写。Java程序在设计和开发应用上十分便捷。1.3.3 Java的分布性分布式计算涉及到在一个网络上几个协同工作的计算机。Java的设计就是为了使分布式计算变得简单。既然网络功能被固有地集成进Java中,那么编写网络程序就如同向文件发送和从文件接收数据。图1.-1显示了运行在3个不同系统上的3个程序;这3个程序相互之间通过通信共同执行一个任务。1.3.4 Java的解释性运行Java程序需要解释器。程序被编译为称为字节代码的Java虚拟机代码。字节代码与机器无关,可以在任何有Java解释器的机器上运行,如图1.-2所示。图1.-1 Java程序可以运行在协同工作的不同系统上图1.-2 执行Java字节代码的Java解释器通常,编译器(如C+编译器)将高级语言程序转换为机器代码。这些代码只能在本地机器上运行。如果在其他机器上运行这些程序,就必须在本地机器上进行重编译。例如,如果在Windows中编译C+程序,由编译器产生的可执行代码只能运行在Windows平台上。如果用Java,则只需编译源代码一次,由Java编译器产生的字节代码可以在任何具有Java解释器的平台上运行。Java解释器将字节代码翻译成目标机器的机器语言。1.3.5 Java的健壮性健壮性意味着可靠性。没有任何编程语言可以保证完全的可靠性。Java极为重视早期对可能错误的检查,因为Java编译器可以检测到许多在其他语言的执行期间首次出现的问题。Java取消了在其他语言中发现的易于产生错误的编程构造类型。例如,它不支持指针,因此消除了重写内存及破坏数据的可能性。Java有运行时异常处理功能,为编程支持提供了健壮性。Java强制程序员编写处理异常的代码。Java可以捕获异常情况并对它做出响应,使程序在发生运行时错误时能继续正常执行并完美终止。1.3.6 Java的安全性作为因特网编程语言,Java用在网络和分布式环境中。如果下载一个Java applet(一种特殊的程序)并在您的计算机上运行,它不会破坏您的系统,因为Java执行了几种保护系统不受外部程序破坏的安全机制。该安全机制是基于这个前提的:即不要信任所有的 一切。1.3.7 Java与体系结构无关Java是可解释的。这一特征使Java成为与体系结构无关,或者换一个术语,即独立于平台。使用Java虚拟机(Java Virtual Machine,JVM),可以编写一个在任何平台上运行的程序,如图1.-3所示。图1.-3 Java字节代码可以在任何具有JVM的平台上执行Java最初的成功源于它的Web编程功能。可以从Web浏览器运行Java applet,但是Java不仅仅用于编写Web applet。使用Java解释器,也可以从操作系统直接运行独立的Java应用程序。今天,软件供应商通常为同一产品开发多个版本,以运行于不同的平台(Windows、OS/2、Macintosh和各种UNIX、IBM AS/400及IBM主机)上。使用Java,开发者只需编写一个可运行在各个平台上的版本即可。1.3.8 Java的可移植性Java与体系结构无关。这一特征使Java程序具有可移植性,因为它们无需重编译就可以在任何平台上运行。此外,在Java语言中,没有针对特定平台的特征。在某些语言(如Ada)中,在不同的平台上最大的整数各不相同。但是在Java中,每个平台上整数的范围都是相同的,运算行为也都相同。固定的数字范围使程序具有可移植性。Java环境对新的硬件和操作系统也是可移植的。事实上,Java编译器本身就是用Java编写的。1.3.9 Java的性能Java的性能有时很挑剔。字节代码的执行只有在同编译语言(如C+)一起执行时才是最快的。因为Java是可解释的,字节代码没有直接由系统执行,而是在解释器中运行。因此,它的速度对多数交互式应用程序来说已经足够了,在交互式应用程序中,CPU处于空闲状态,等待输入或者数据来源。过去几年,CPU的速度大大提高了,这一趋势仍会继续。提高性能的方式有很多。早期Sun Java虚拟机的用户一定注意到Java很慢。但是,新JVM明显变快了。新JVM使用称为实时编译的技术,如图1.-4所示。它将字节代码编译为本机代码,保存本机代码,并且在字节代码执行时重新调用本机代码。Sun公司最近开发了Java HotSpot Performane Engina,它包含对经常使用的代码进行优化的编译器。该HotSpot Performane Engina可以插入JVM中,以显著提高它的性能。图1.-4 实时编译器将字节代码编译为本机代码1.3.10 Java的多线程性多线程是程序同时执行多个任务的功能。例如,在播放视频的同时下载视频文件就可认为是多线程的。多线程编程被平顺地集成进Java中,而在其他语言中必须调用特定于操作系统的过程才能实现多线程。多线程在图形用户界面(GUI)和网络编程中尤其有用。在GUI编程中,同时会发生多个事件。用户可以在Web页上冲浪的同时收听音频播放。在网络编程中,一个服务器可以同时为多个客户提供服务。多线程在多媒体和网络编程中是必需的。1.3.11 Java的动态性Java的设计适用于进化的环境。新代码可以不用重编译而载入。开发人员不需要创建主要的新软件版本,用户也不需要安装。新特征可以在需要的时候透明地并入。1.4 World Wide Web、Java及其他World Wide Web是可以从因特网被世界各地访问的电子信息仓库。可以使用Web预订旅馆、购买飞机票、注册大学课程、下载New York times、与朋友聊天或者收听实况广播。在因特网上,可以进行各种活动。许多人使用计算机的大部分时间都花费在Web页上冲浪以娱乐及获得有用信息。因特网是Web的基础结构。因特网已经存在了30多年,但是最近几年才变得流行起来。它的流行主要归因于多彩的World Wide Web及成熟的Web浏览器。Web首要的主导语言是超文本标记语言(Hypertext Markup Language,HTML)。HTML是标记语言:显示文档、将文档链接到因特网并将图像、声音和视频发布到Web上。然而,除了通过简单表单,否则它无法与用户交互。HTML中的Web页本质上是静态的和平面的。Java最初非常吸引人,是因为Java程序可以从Web浏览器运行。从Web浏览器运行的Java程序叫做applet。applet使用带有按钮、文本域、文本区、单选按钮等的时尚图形用户界面,用于与Web用户交互及处理用户请求。applet使Web更易于响应,更具交互性,并增加了使用时的趣味性。图1.-5显示了一个从Web浏览器运行的applet。从Web浏览器运行applet,需要使用Netscape 6或者Explorer 6浏览器。图1.-5 嵌入在Web页中的计算抵押的Jav

温馨提示

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

评论

0/150

提交评论