当前位置:
首页 > 教材教辅 > 中职/高职 > Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

书名:Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

推荐语:

作者:张桓,徐丽

出版社:人民邮电出版社有限公司

出版时间:2018-02-01

书籍编号:30530762

ISBN:9787115469601

正文语种:中文

字数:270962

版次:1

所属分类:教材教辅-中职/高职

全书内容:

Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载








内容提要


本书将Java的精髓知识分解为14个项目,划分成三部分:项目一~项目七为第一部分,围绕Java面向对象编程设计基础展开,内容包括Java开发环境的搭建、开发工具Eclipse的使用、Java程序的基本结构、Java基本语法、数据的输入与输出、类与对象的应用、面向对象高级语法的使用、程序异常处理等;项目八~项目十二为第二部分,围绕面向对象程序开发中不同类型的应用展开,内容包括Java图形用户界面开发、Java事件响应处理机制、Java数据库编程开发、Java文件处理、Java多线程处理等。项目十三~项目十四为第三部分,围绕实际项目的实现展开,内容包括信息管理系统类项目的开发、桌面游戏类项目的开发等。


本书既可作为高职高专计算机相关专业和其他有编程需求的工科专业的相关课程的教材使用,也可作为Java开发人员的参考用书。

前言


经过多年的发展,Java语言已经成为面向对象程序开发的主流语言之一,为越来越多的程序开发人员使用。本书以培养读者掌握Java面向对象编程的基本能力为主旨,结合作者长期从事Java教学与开发的实践经验,以独有的章节安排与知识体系设计、先进的教学理念、构建教学内容。本书能够使初学者牢固建立起面向对象的编程理念,为他们进一步学习后续知识打下坚实的基础。对于有一定Java编程基础的读者,本书则能够使他们更好地梳理知识体系,将各个分散的知识点凝聚到面向对象这条主线上来。


全书将Java的精髓知识分解为14个项目,划分成三部分:项目一~项目七为第一部分,围绕Java面向对象编程设计基础展开,内容包括Java开发环境的搭建、开发工具Eclipse的使用、Java程序的基本结构、Java基本语法、数据的输入与输出、类与对象的应用、面相对象高级语法的使用、程序异常处理等;项目八~项目十二为第二部分,围绕面向对象程序开发中不同类型的应用展开,内容包括Java图形用户界面开发、Java事件响应处理机制、Java数据库编程开发、Java文件处理、Java多线程处理等。项目十三~项目十四为第三部分,围绕实际项目的实现展开,内容包括信息管理系统类项目的开发、桌面游戏类项目的开发等。


本书以高职高专计算机相关专业和其他有编程需求的工科专业的初学者为主要使用对象,也可作为Java开发人员的参考书使用。建议教学采用理论实践一体化教学模式,参考学时见下面的学时分配表。


学时分配表

Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

本书的成稿,得益于一支工学结合的教师队伍。参与各章编写工作的人员均是国家级示范高职院校的一线骨干教师,他们具备丰富的教学经验及项目实践开发经历,了解如何将理论知识转化为实际开发的能力。本书由张桓、徐丽任主编,由赵慧、曹志胜、李金靖任副主编。其中的项目一、项目二、项目七由张桓编写,项目三~项目六由徐丽编写,项目八由李金靖编写,项目九、项目十三、项目十四由曹志胜编写,项目十~项目十二由赵慧编写,全书由张桓统稿审核。在本书的编写过程中得到了北京东软慧聚信息技术股份有限公司的大力支持,在此表示衷心的感谢。


在本书的成稿与出版过程中,很多同行及专家提出了许多的宝贵意见。在此,对所有帮助过我们的同志表示衷心的感谢!由于作者水平所限,书中难免有不妥之处,敬请各位读者与专家批评指正。


编者


2017年8月

项目一 Java语言概述


Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,此外Java语言还提供了3种开发体系,学好本章知识,将为后面章节的学习打下基础。


课堂学习目标


·了解Java的起源


·了解程序设计思想的发展


·掌握Java的三大开发体系


任务一 Java的起源


任务要求


本任务要求了解Java语言的由来、Java的产生、Java与Internet、Java的字节码以及Java常用语。


任务实现


目前Java语言在全世界是使用最为广泛的计算机编程语言之一。它容易学习而且非常好用,如果你学习过其他的编程语言,如C++,就会觉得C++和Java非常相似,但是我们知道,Java和C++是两种不同的语言,Java只需理解一些最基本的概念,就能够编写出各种应用程序。Java省略了运算符重载、多重继承等模糊不清的概念,C++语言中许多易混淆的概念,很多被Java扔掉了,或者用一种更加容易理解的方式去实现,所以Java相对于C++是简单的。

Java语言程序设计与实现(微课版)pdf/doc/txt格式电子书下载

微课:Java概述


(一)Java的由来


Java总是和C++联系在一起,而C++则是从C语言派生而来的,所以Java语言继承了这两种语言的大部分特性。Java的语法是从C继承的,Java许多面向对象的特性受到C++的影响。事实上,Java中几个自定义的特性都来自于或可以追溯到它的前驱,而且Java语言的产生与过去30年中计算机语言细致改进和不断发展密切相关。


(二)Java的产生


Java是由詹姆斯·高斯林、帕特里克·诺顿等于1991年在Sun Microsystems公司设计出来的。开发第一个版本花了18个月。该语言开始名叫“Oak”,于1995年更名为“Java”。从1992的秋天Oak问世到1995的春天公开发布Java语言,许多人对Java的设计和改进作出了贡献。


计算机语言的革新靠两个因素驱动:对计算环境改变的适应和编程艺术的进步。环境的变化促使Java这种独立于平台的语言注定成为Internet上的分布式编程语言。同时,Java也改变了人们的编程方式,特别是Java对C++使用的面向对象范例进行的增强和完善。所以,Java不是孤立存在的一种语言,而是计算机语言多年来的演变结果。仅这个事实就足以证明Java在计算机语言历史上的地位。Java对Internet编程的影响就如同C对系统编程的影响一样:革命的力量将改变世界。


(三)Java对Internet为什么重要


Internet使Java成为网上最流行的编程语言,同时Java对Internet的影响也意义深远。网上程序在动态性上是令人满意的,但它们在安全性和可移植性方面也显示出严重的缺陷。在Java产生以前,有一半的对象实体无法进入网络世界,是Java为它们打开了便利之门,而且在这个过程中定义了一种全新的程序形式:applet(小应用程序)。


1.Java小应用程序和应用程序


Java可用来生成两类程序:应用程序(Applications)和Java applet(小应用程序)。应用程序是可以在计算机的操作系统中运行的程序,从这一方面来说,用Java编制的应用程序多多少少与使用C或C++编制的应用程序有些类似。在创建应用程序时,Java与其他计算机语言没有大的区别。而Java的重要性就在于它具有编制小应用程序的功能。小应用程序是可以在Internet中传输并在兼容Java的Web浏览器中运行的应用程序。小应用程序实际上就是小型的Java程序,能像图像文件、声音文件和视频片段那样通过网络动态下载。


它与其他文件的重要差别是,小应用程序是一个智能的程序,能对用户的输入作出反应,并且能动态变化,而不是一遍又一遍地播放同一动画或声音。


如果Java不能解决两个关于小应用程序最棘手的问题:安全性和可移植性,那么小应用程序就不会如此令人激动。在继续下一个话题之前,先说明以下这两个术语对Internet的意义。


2.安全性


正如你知道的那样,每次下载一个“正常”的程序时,都要冒着被病毒感染的危险。在Java出现以前,大多数用户并不经常下载可执行的程序文件。即使下载了程序,在运行它们以前,也都要进行病毒检查。尽管如此,大多数用户还是担心他们的系统可能被病毒感染。除了病毒,另一种恶意的程序也必须警惕。这种恶意的程序可通过搜索计算机本地文件系统的内容来收集用户的私人信息,如信用卡号码、银行账户结算和口令。Java在网络应用程序和用户的计算机之间提供了一道防火墙(Firewall),消除了用户的这些顾虑。


当使用一个兼容Java的Web浏览器时,可以安全地下载Java小应用程序,不必担心病毒感染或恶意的企图。Java实现这种保护功能的方式是,将Java程序限制在Java运行环境中,不允许它访问计算机的其他部分,后面将介绍这个过程是如何实现的。下载小应用程序并能确保它对客户机的安全性不会造成危害是Java的一个最重要的方面。


3.可移植性


正如前面所讨论的,许多类型的计算机和操作系统都连接到Internet上。要使连接到Internet上的各种各样的平台都能动态下载同一个程序,就需要有能够生成可移植性执行代码的方法。很快你将会看到,有助于保证安全性的机制同样也有助于建立可移植性。实际上,Java对这两个问题的解决方案是优美的,也是高效的。


(四)Java的魔力:字节码


Java解决上述两个问题——安全性和可移植性的关键在于Java编译器的输出并不是可执行的代码,而是字节码(Bytecode)。字节码是一套设计用来在Java运行时系统下执行的高度优化的指令集,该Java运行时系统称为Java虚拟机(Java Virtual Machine,JVM)。在其标准形式下,JVM就是一个字节码解释器。这可能有点让人吃惊,因为像C++之类语言的编译结果是可执行的代码。事实上,出于对性能的考虑,许多现代语言都被设计为编译型,而不是解释型。然而,正是通过JVM运行Java程序,才有助于解决在Internet上下载程序的主要问题。这就是Java输出字节码的原因。


将Java程序翻译成字节码,有助于它更容易地在一个大范围的环境下运行程序。原因非常直接:只要在各种平台上都实现Java虚拟机就可以了。在一个给定的系统中,只要系统运行包存在,任何Java程序就可以在该系统上运行。记住:尽管不同平台的Java虚拟机的细节有所不同,但它们都解释同样的Java字节码。如果一个Java程序被编译为本机代码,那么对于连接到Internet上的每一种CPU类型,都要有该程序的对应版本。这当然不是一个可行的解决方案。因此,对字节码进行解释是编写真正可移植性程序最容易的方法。对Java程序进行解释也有助于它的安全性。因为每个Java程序的运行都在Java虚拟机的控制之下,Java虚拟机可以包含这个程序并且能阻止它在系统之外产生副作用。正如你将看到的,Java语言特有的某些限制增强了它的安全性。


被解释的程序的运行速度通常确实会比同一个程序被编译为可执行代码的运行速度慢一些。但是对Java来说,这两者之间的差别不太大。使用字节码能够使Java运行时系统的程序执行速度比你想象的快得多。


(五)Java常用语


不介绍Java常用语,对Java的总体介绍就是不完整的。尽管促使Java诞生的源动力是可移植性和安全性,但在Java语言最终成型的过程中,其他一些因素也起了重要的作用。Java设计开发小组的成员总结了这些关键因素,称其为Java的专门用语,包括下面几个。


·简单(Simple)


·安全(Secure)


·可移植(Portable)


·面向对象(Object-oriented)


·健壮(Robust)


·多线程(Multithreaded)


·体系结构中立(Architecture-neutral)


·解释执行(Interpreted)


·高性能(High performance)


·分布式(Distributed)


·动态(Dynamic)


任务二 程序设计思想的发展


任务要求


本任务要求了解程序设计思想的发展过程,以及面向编程技术的核心概念。


任务实现


像所有其他的计算机语言一样,Java的各种要素不是独立存在的,它们作为一个整体共同构成了Java语言。这种关联使得不讲其他方面而单独描述Java的某一方面是困难的。讨论一个特性经常要先具有另外一个特性的知识。因此,本章先对Java的若干主要特性作简单综述。这里描述的主题将给你一个立足点:能够使你编写和理解简单的Java程序。


(一)面向对象编程


Java的核心是面向对象编程。事实上,所有的Java程序都是面向对象的,你别无选择。这一点与C++不同,因为在那里你可以选择是否面向对象编程。面向对象编程与Java密不可分,因此,在编写哪怕是最简单的Java程序以前,也必须理解它的基本原则。因此,本章先从面向对象编程的概念讲起。


1.两种范型


我们知道,所有的计算机程序都由两类元素组成:代码和数据。此外,从概念上讲,程序还可以以它的代码或是数据为核心组织编写。也就是说,一些程序围绕“正在发生什么”编写,而另一些程序则围绕“谁将被影响”编写。这两种范型决定程序的构建方法。第一种方法被称为面向过程的模型(Process-Oriented Model),用它编写的程序都具有线性执行的特点。面向过程的模型可认为是代码作用于数据,像C这样的过程式语言采用这个模型是相当成功的。然而,当程序变得更大并且更复杂时,就会出现问题。


为了管理不断增加的复杂性,第二种方式,也就是面向对象的编程(Object-Orientedprogramming)被构思出来了。面向对象的编程围绕它的数据(即对象)和为这个数据严格定义的接口来组织程序。面向对象的程序实际上是用数据控制对代码的访问。下面你将看到,将控制的实体变换为数据,可使程序在组织结构上从若干方面受益。


2.抽象


面向对象编程的一个实质性的要素是抽象。人们通过抽象(Abstraction)处理复杂性。


使用层级分类是管理抽象的一个有效方法。它允许根据物理意义将复杂的系统分解为更多更易处理的小块。复杂系统的分层抽象也能被用于计算机程序设计。传统的面向过程程序的数据经过抽象可用若干组成对象表示,程序中的过程步骤可看成是在这些对象之间收集消息。


这样,每一个对象都有它自己的独特行为特征。可以把这些对象当作具体的实体,让它们对告诉它们做什么事的消息作出反应。这是面向对象编程的本质。面向对象的概念是Java的核心,对程序员来讲,重要的是要理解这些概念怎么转化为程序。你将会发现,在任何主要的软件工程项目中,软件都不可避免地要经历概念提出、成长、衰老这样一个生命周期,而面向对象的程序设计,可以使软件在生命周期的每一个阶段都处变不惊,有足够的应变能力。例如,一旦定义好了对象和指向这些对象的简明的、可靠的接口,就能很从容、很自信地解除或更替旧系统的某些组成部分。


(二)面向对象编程的3个原则


所有面向对象的编程语言都提供帮助实现面向对象模型的机制,这些机制是封装、继承及多态性。现在介绍它们的概念。


1.封装


封装(Encapsulation)是将代码及其处理的数据绑定在一起的一种编程机制。该机制保证了程序和数据都不受外部干扰且不被误用。理解封装性的一个方法就是把它想成一个黑匣子,它可以阻止在外部定义的代码随意访问内部代码和数据。对黑匣子内代码和数据的访问通过一个适当定义的接口严格控制。封装代码的好处是每个人都知道怎么访问它,但不必考虑它的内部实现细节,也不必害怕使用不当会带来负面影响。


Java封装的基本单元是类。尽管类将在以后章节详细介绍,现在仍有必要对它做一下简单讨论。一个类(Class)定义了将被一个对象集共享的结构和行为(数据和代码)。一个给定类的每个对象都包含这个类定义的行为和结构,好像它们是从同一个类的模子中铸造出来似的。因为这个原因,对象有时被看作是类的实例(Instances of a Class)。所以,类是一种逻辑结构,而对象是真正存在的实体。


创建一个类时,要指定组成那个类的代码和数据。从总体上讲,这些元素都被称为该类的成员(Members)。具体地说,类定义的数据称为成员变量(Member Variables)或实例变量(InstanceVariables)。操作数据的代码称为成员方法(Member Methods)或简称方法(Methods)。如果熟悉C/C++,可以这样理解:Java程序员所称的方法,就是C/C++程序员所称的函数(function)。在完全用Java编写的程序中,方法定义如何使用成员变量。这意味着一个类的行为和接口是通过方法来定义的,类这些方法对它的实例数据进行操作。


既然类的目的是封装复杂性,在类的内部就应该有隐藏实现复杂性机制。类中的每个方法或变量都可以被标记为私有(Private)或公共(Public)。类的公共接口代表类的外部用户需要知道或可以知道的每件事情;私有方法和数据仅能被一个类的成员代码访问,其他任何不是类的成员的代码都不能访问私有的方法或变量。既然类的私有成员仅能被程序中的其他部分通过该类的公共方法访问,就能保证不希望发生的事情一定不会发生。当然,公共接口应该小心仔细设计,不要过多暴露类的内部内容。


2.继承


继承(Inheritance)是一个对象获得另一个对象的属性的过程。继承很重要,因为它支持了按层分类的概念。正如前面提到的,大多数知识都可以按层级(即从上到下)分类管理。例如,尊贵的猎犬是狗类的一部分,狗又是哺乳动物类的一部分,哺乳动物类又是动物类的一部分。如果不使用层级的概念,就不得不分别定义每个动物的所有属性。使用了继承,一个对象就只需定义使它在所属类中独一无二的属性即可,因为它可以从它的父类继承所有的通用属性。所以,可以这样说,正是继承机制使一个对象成为一个更具通用类的一个特定实例成为可能。下面更具体地讨论这个过程。


大多数人都认为世界是由对象组成的,而对象又是按动物、哺乳动物和狗这样的层级结构相互联系的。如果想以一个抽象的方式描述动物,那么可以通过大小、智力及骨胳系统的类型等属性描述。动物也具有确定的行为,它们也需要进食、呼吸,并且睡觉。这种对属性和行为的描述就是对动物类的定义。


如果想描述一个更具体的动物类,如哺乳动物,它们会有更具体的属性,如牙齿类型、乳腺类型等。我们说哺乳类动物是动物的子类(Subclass),而动物是哺乳动物的超类(Superclass)。


由于哺乳动物类是需要更加精确定义的动物,所以它可以从动物类继承(Inherit)所有的属性。一个深度继承的子类继承了类层级(Class Hierarchy)中它的每个祖先的所有属性。


继承性与封装性相互作用。如果一个给定的类封装了一些属性,那么它的任何子类将具有同样的属性,而且添加了子类自己特有的属性。这是面向对象的程序在复杂性上呈线性而非几何性增长的一个关键概念。新的子类继承它的所有祖先的所有属性。它不与系统中其余的多数代码产生无法预料的相互作用。


3.多态性


多态性(Polymorphism,来自于希腊语,表示“多种形态”)是允许一个接口被多个同类动作使用的特性,具体使用哪个动作与应用场合有关,下面以一个后进先出型堆栈为例进行说明。假设有一个程序,需要3种不同类型的堆栈。一个堆栈用于整数值,一个用于浮点数值,一个用于字符。尽管堆栈中存储的数据类型不同,但实现每个栈的算法是一样的。如果用一种非面向对象的语言,就要创建3个不同的堆栈程序,每个程序一个名字。但是,如果使用Java,由于它具有多态性,就可以创建一个通用的堆栈程序集,它们共享相同的名称。


多态性的概念经常被说成是“一个接口,多种方法”。这意味着可以为一组相关的动作设计一个通用的接口。多态性允许一个接口被同类的多个动作使用,这样就降低了程序的复杂性。选择应用于每一种情形的特定的动作(specific action)(即方法)是编译器的任务,程序员无需手工选择,只需记住并使用通用接口即可。


再拿狗比喻,一条狗的嗅觉是多态的。如果狗闻到猫的气味,它会吠叫并且追着它跑。如果狗闻到食物的气味,它将分泌唾液并向盛着食物的碗跑去。两种状况下是同一种嗅觉器官在工作,差别在于闻到了什么气味,也就是有两种不同类型的数据作用于狗的鼻子!在一个Java程序中使用方法时,也可以采用这个通用的概念。


(三)多态性、封装性与继承性相互作用


如果使用得当,在由多态性、封装性和继承性共同组成的编程环境中可以写出比面向过程模型环境更健壮、扩展性更好的程序。精心设计的类层级结构是重用你花时间和努力改进并测试过的程序的基础,封装可以在不破坏依赖于类公共接口的代码基础上对程序进行升级迁移,多态性则有助于编写清楚、易懂、易读、易修改的程序。


所有的Java程序都是面向对象的,或者更精确地说,每个Java程序都具有封装性、继承性及多态性。你将看到,Java提供的许多特性是它的内置类库的一部分,这个库使封装性、继承性及多态性得到更广泛的应用。


任务三 Java的三大开发体系


任务要求


本任务要求了解Java的三大开发体系以及核心概念。


任务实现


Java发展到今天,已从编程语言发展成为全球第一大通用开发平台。Java技术已被计算机行业主要公司采纳。1999年,Sun公司推出了以Java 2平台为核心的J2SE、J2EE和J2ME三大平台。随着三大平台的迅速推进,全球形成了一股巨大的Java应用浪潮。


(一)Java 2 Platform,Standard Edition(J2SE)


Java 2平台标准版,适用于桌面系统应用程序的开发,以及低端的服务器。本书案例就是利用J2SE 5.0版的相关图形API包来开发的。J2SE包含那些构成Java语言核心的类,如数据库连接、接口定义、输入输出、网络编程。


(二)Java 2 Platform,Enterprise Edition(J2EE)


Java 2平台企业版是一种利用Java 2平台来简化企业解决方案的开发、部署和管理等相关复杂问题的体系结构。J2EE技术的核心就是Java平台或Java 2平台的标准版,主要用于分布式的网络程序的开发,构建企业级的服务器应用,如电子商务网站和ERP系统。包含J2SE的类,并且包含用于开发企业级应用的类,如EJB、Servlet、JSP、XML、JDBC、CORBA,以及能够在Internet应用中保护数据的安全模式等技术。


它包含标准版中的任何组件,并增加了附加库,以支持目录管理、交易管理以及企业消息处理等功能。


(三)Java 2 Platform,Micro Edition(J2ME)


Java 2平台微型版。Sun公司将J2ME定义为“一种以广泛的消费性产品为目标、高度优化的Java运行环境”。自1999年6月在JavaOne Developer Conference上发布之后,J2ME进入了小型设备开发的行列。利用Java跨平台的特性,遵循J2ME规范开发的Java程序可以运行在各种不同的小型设备上。


J2ME用于嵌入式的消费型产品中,如手机、掌上电脑、智能卡、机顶盒、汽车导航系统或其他无线设备。


简单地说,J2SE用于小型程序,J2EE用于大型程序,J2ME用于手机等程序。J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专用类。语言都是相同的,只是捆绑的类库API不同。也就是说,J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME;扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。


课后练习


1.填空题


(1)Java继承了_______和_______语言的大部分特性。


(2)Sun公司将Java细分为三个版本,三个版本的简称为J2ME、_______和J2EE。


(3)Java的_______机制使得程序员从手工管理内存中解脱出来。


2.选择题


(1)Java作为编程语言,( )特点是Java不具有的。


A.利用了面向对象的技术基础


B.可移植性


C.独立于硬件结构


D.多重继承


(2)Java语言具有许多优势和特点,以下( )特点能保证软件的可移植性。


A.健壮性


B.安全性


C.跨平台


D.动态性


(3)下面( )不是Java语言的特点。


A.分布式计算


B.健壮性


C.跨平台


D.静态性


3.简答题


(1)简述面向对象编程的3个原则。


(2)简述Java的三大开发体系。

项目二 Java程序设计初识


作为面向对象的编程语言,Java程序的核心要素是类。类是组成Java程序的最小结构单位。一个Java源程序文件中可以包括一个或多个类的定义。定义类时,必须使用关键字class。类可以自己命名,但需符合基本的标识符定义规则。习惯

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示