Java程序设计及应用:增量式项目驱动一体化教程pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:Java程序设计及应用:增量式项目驱动一体化教程pdf/doc/txt格式电子书下载
推荐语:
作者:苑俊英,陈海山等编
出版社:电子工业出版社
出版时间:2013-11-01
书籍编号:30467422
ISBN:9787121207648
正文语种:中文
字数:115631
版次:1
所属分类:教材教辅-大学
版权信息
书名:Java程序设计及应用:增量式项目驱动一体化教程
作者:苑俊英 陈海山
ISBN:9787121207648
版权所有 · 侵权必究
前言
Java程序设计语言是一种可以编写跨平台应用软件的面向对象的程序设计语言,具有超强的通用性、高效性、平台移植性和安全性,广泛应用于个人计算机、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。自Sun MicroSystems公司于1995年5月推出以来,Java程序设计语言是当今最具代表性的面向对象编程语言之一,也是实际软件项目开发中所使用的主流编程语言之一。在全球云计算和移动互联网产业蓬勃发展的环境下,Java更具备了显著优势和广阔前景。
在本科教学计划中,Java一般都安排在编程设计基础课程(一般为C语言)之后。Java与C语言相比,其基本语法十分相似,但Java的应用性更强,入手也相对容易。如果说学习C语言是给学生打好基础的话,那么学习Java语言则更应该侧重提高学生的编程能力和查阅资料能力。我们应该利用这些知识的内在联系,以及教学侧重点的不同,在教学过程中予以体现。然而,传统的Java教学模式都是把相当多的课时花费在Java的基本语法上,既没有发挥Java应用性强的特点来调动学生的学习积极性,也没有把Java的优势展示给学生,导致本科生的Java语言应用水平往往还比不上大专的学生。
编者认为,Java程序设计知识的结构并不决定教学的顺序和组织方式,所以,在本科Java语言的教学过程中,应该利用学生已经具备的语法基础和Java语言应用性强的特点,引导学生重点学习Java的高级应用特性,通过在实际项目应用中展现Java语言的高级特性,来调动学生的积极性,提高学生的动手编程能力和独立查阅资料文献的能力。由于编程的核心是应用数据结构和算法去解决实际解决事物间逻辑关系,教学的过程也必须以解决实际问题为核心,通过解决实际问题让学生理解和掌握数据结构与算法在实际中的应用,最终提高学生的编程能力。
编者认为,Java教学过程应该有几个侧重:通过高级编程技术调动学生学习积极性,通过由简单到复杂的实验使学生掌握Java语法的应用,通过实际项目的完成提高学生编程能力。然而,目前市场上流行的Java参考书大部分按传统的语法方式讲解Java,有些则直接给出了若干项目的实现,也有少数参考书提出了利用游戏或者多媒体的方法来教学,但没有一本参考书综合考虑了Java的特点、学生的学习情况和学习规律。
下图中展示了影响Java课程教学效果的若干因素,以及其与教学方法和教学目标之间的关系,其中影响教学效果的若干因素和教学目标共同决定了应该采用什么样的教学方法。
在这样的背景下,编者结合多年的教学经验和工程经验,综合已有的参考书各自的优点,在糅合Java的理论、实验和实训教学的基础上,编写了这本以项目为主线的Java综合教程,旨在通过由浅入深、由小到大的项目教学和实践过程,有机地组织教学顺序、引导学生把Java的知识点融入程序设计中,调动学生的积极性,使得学生在快乐学习的过程中,最终提高学生的编程能力和查阅资料的能力。
此教学方法从Java理论学习与实验操作、Java知识的掌握与编程能力的提高、教学要求与学生多方面能力提高等方面进行了统一安排,达到了多个课程目标的一体化实现(见下图)。
在采用项目教学的过程中,必须设置相应的课程设计:能够体现Java高级编程应用的实例,通过模仿编程巩固知识的掌握、提高学生编程能力。该方法已经在中山大学南方学院的Java程序设计课程中采用,经过2010级和2011级计算机专业两届学生的实践证明:采用一体化增量式项目教学可以在很大程度上提高学生的实践应用能力。
本书共4部分:第一部分和第三部分为Java程序设计基本技能,第二部分和第四部分为Java实训内容。其中第二部分和第四部分实训内容,是在第一部分和第三部分Java基本技能基础上的提升。在教学安排上,可以打乱基本技能的编写顺序,通过项目驱动的形式进行基本技能的讲解。即在第二部分简易计算器项目基础上,进行第一部分内容的融合与展开;在第四部分局域网聊天工具项目基础上,进行第三部分内容的融合与展开。本书编写体例:为方便读者阅读,本书第一、三部分的程序以“示例”的形式描述;第二、四部分中的项目框架和实现以“代码”的形式描述,某些知识点的例子程序用“例程”的形式描述。
本书作者苑俊英具有多年的教学经验,陈海山具有多年在国内外知名企业的工程实践经验。本书在编写过程中得到了中山大学信息科学与技术学院杨智教授的支持与帮助,在此表示诚挚的谢意。在本书完成过程中,中山大学南方学院的蔡力能、陈天富、陈振杰、李满铨、王添、姚骏琳、朱彦瑾等同学参与了本书实验及实训项目,陈泽升、陈思远、丁敏如、洪笃辉、李聃、林南鹏、倪坪雄、舒挺、谢思妙、谢智锋、张海威、张清伟等同学参与了本书的校对工作。
本书还配有教学课件和实验实训例程,有需要的读者可与作者联系,邮箱为cihisa@126.com。
由于作者水平有限,编写时间仓促,在本书中可能会出现一些错误,恳请读者提出宝贵意见。
作 者
2013年8月
第一部分 Java程序设计基本技能(一)
本教材的第一部分主要介绍Java语言基础,包括编程环境的搭建、Java基本语法、面向对象的概念、类与对象、数组字符串、图形用户界面等基本技能。该部分在第二部分计算器的实训项目驱动下,讲解Java的基本知识。在教学内容安排上,将第一部分和第二部分相结合进行教学。
第1章 Java的特点、基本内容和编程环境
Java作为目前的主流面向对象程序设计语言之一,因其面向对象、跨平台、支持多线程和分布式等特点,在 Web 应用程序开发、网络编程、手机游戏等各个方面都得到了广泛的应用,并且受到越来越多程序设计者的青睐。本章主要介绍 Java 语言的历史及特点、Java 开发环境,以及本书中采用的项目开发模板。
1.1 Java语言的历史和特点
Java是由Sun公司于1995年首次推出的一种面向对象的程序设计语言,到现在已经发展了10余年。本节重点介绍Java语言的历史和特点,使初学者对Java有个大概的了解。
1.1.1 Java语言的发展历史
Java是由Sun公司开发而成的新一代编程语言。Sun公司的Java语言开发小组成立于1992年,该小组的领导人James Gosling是一位非常杰出的程序员。开发小组在开始之前主要的开发方向是诸如开拓交互式电视、面包烤箱等消费类电子产品市场。由于通过改写C编译器无法满足与系统的平台无关性,所以于1991年6月决定准备开发一种新的语言,并起名为Oak(Java语言的前身)。由于当时Oak已经被注册,所以改名为Java,其为太平洋上一个盛产咖啡的岛屿的名字。1995年3月,Sun公司发布了利用Java编写的第一个交互式浏览器HotJava,引起了世界的关注。
1995年5月Sun公司正式推出Java程序设计语言和Java平台的名称。Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java应用程序编程接口(Application Programming Interface,简称API)构成。经过10余年的发展,目前Java语言已经是一门被广泛使用的编程语言,而且学习和使用Java语言的软件开发人员也在不断增加。J2SE平台(Java的标准版)的版本也不断地发展,从1996年的JDK 1.0发展到目前的最新版本JDK 7.0。
1.1.2 Java语言的特点
Java作为一种高级程序设计语言,与其他高级语言相比,最重要的特点是它的与平台无关性,也就是常说的“Write once run anywhere”。另外,Java在安全性、健壮性、分布式、面向对象等方面也有其自身的特点。
1.简单
与高级语言C++相比,Java语言简单。Java语言丢弃了C++中许多复杂的概念和容易疑惑的内容。例如:Java语言中没有C++语言中的多继承和指针、去掉了#include和#define等预处理功能、没有运算符的重载、不支持C++语言的强制自动类型转换等。
Java语言还增加了一些比较实用的功能。如可以自动对内存进行管理、自动进行垃圾收集、显示地进行强制类型转换等。由于Java语言在诸如变量声明、流程控制、参数传递等方面与C或者C++语言类似,所以对于已经学过C或者C++语言的人来说,Java语言更容易学习和掌握。
2.面向对象
Java语言是一种面向对象的语言,它通过把现实世界的事物抽象成对象的概念并使用方法实现对对象的操作,将复杂问题抽象化,从而更好地解决实际问题。
在Java程序设计中,抽象层可以通过使用接口和抽象类来实现。
Java程序将数据和操作数据的方法封装在一起形成类,通过对数据以及对数据进行操作的方法进行封装实现了信息的隐藏。在Java程序中可以使用public、protected和private等访问控制符控制类对数据成语的访问权限。封装可以将那些不想被其他成员访问的数据封起来,从而使得程序更易于维护。
通过类的继承,不但使子类可以继承父类的属性和方法,还可以扩展子类自己的功能,达到代码的重用。在Java语言中,类的继承是通过extends关键字来实现的。例如:有一个交通工具类Vechile,可以把汽车、飞机、轮船等交通工具的公共属性定义在该类中;而表示汽车、飞机、轮船等各个交通工具的类作为Vechile的子类,它们除了可以拥有Vechile类的成员属性和方法外,还可以拥有自己特定的成员属性和方法。但是,Java语言的类只支持单一继承,即一个类只能有一个直接父类。如果想实现多继承,可以使用Java语言中的接口来实现。
通过对同一个方法调用不同类型的对象而产生不同行为称为多态性。多态增强了程序的扩展性,提高了项目的可阅读性。多态性是基于继承的,也就是说,对于父类中的一个属性或方法,在被多个子类继承之后,可以表现出不同的行为。
3.与平台无关性和可移植性
与其他语言相比,Java语言的与平台无关性是它最大的特点,这一特性主要体现在Java虚拟机(JVM)上,Java虚拟机机制是Java语言实现的核心机制之一。和许多语言直接把代码编译成机器可识别的指令不同,Java语言在编译时会把源代码编译成字节码,也就是.class文件。而Java虚拟机可以通过ClassLoader来加载字节码,并最后将其转换成机器可识别的指令进行执行。
由于Java语言具有与平台无关性的特点,所以可以很容易地将Java程序的可执行代码从一台机器上移植到另一台机器上,只要机器上配有可以将字节码转换成机器可识别指令的Java虚拟机就可以。因此说,Java程序是可移植的。
4.可靠性和安全性
由于Java语言主要应用于网络程序的开发,所以安全性是很多人担心的问题。事实上,作为Java语言核心机制之一的代码安全监测机制通过对字节码的校验,可使不合法的字节码无法被解释执行。同时,Java语言在编译期间需要对表达式和参数进行类型检查,如果在编译期间出现类型不兼容的情况,编译器就会报错。除此以外,还可以对数组边界是否越界进行检查,对不同类型的对象要求进行强制类型转换等措施,都提高了Java程序的可靠性和安全性。
5.多线程并发机制
Java语言提供了对多线程的支持。多线程是指在同一时间内有多个线程在执行,通过多线程可以在同一时间内完成多个任务,提高程序的执行效率。Java语言通过继承Thread类或实现Runnable接口实现多线程。另外,Java语言还提供了synchronized关键字保证线程之间的同步,使得线程之间共享的数据能够得到正确的操作。多线程的使用可以简化网络实时交互行为。C++语言不支持多线程。
6.分布式
Java支持网络应用程序,支持C/S模式,在API中提供了一个有关网络的类库,例如:net类、socket类、URL类等,开发人员可以方便地使用类库中的方法实现分布式的操作。Java程序通过使用URL对象,可以对Internet中的网络资源进行访问。同时,Java还提供了一种RMI(Remote Method Invocation,远程方法调用)机制,使得Java在分布式应用方面的能力得到了增强,这也是开发分布式应用的一个很重要的解决方案。
7.动态的内存管理机制
Java中动态内存管理是通过垃圾回收机制实现的,Java的垃圾回收机制也是Java的核心机制之一。在系统空闲时,对程序运行过程中没有用的对象自动进行回收;对不再使用的对象,会自动释放它们所占用的内存空间;也可以将一个对象的句柄设置为null,来通知垃圾收集器对其进行回收。
1.2 本书基本内容与教学思路
本书以项目驱动,采取增量式的开发方式。全书共分4部分,第一部分和第三部分为Java程序设计基本技能,第二部分和第四部分为Java实训内容。
在教学安排上,可以打乱Java基本技能的编写顺序,通过项目驱动的形式进行基本技能的讲解。即在第二部分简易计算器项目基础上,进行第一部分内容的融合与展开;在第四部分局域网聊天工具项目基础上进行第三部分内容的融合与展开。建议在Java课程内容的安排上,通过两个实训项目的增量完成,将第一部分和第三部分的Java技术融入到项目内讲解,教学思路采用:根据实训内容的安排设置理论课程内容的学时分配与进度。
1.3 Java开发环境介绍
要在一台计算机上编写和运行Java程序的首要工作是建立起Java开发环境。建立Java开发环境就是在计算机上安装Java开发工具包,并在计算机中设置相应的参数,使开发工具包可以在计算机中顺利地正确运行。
Sun公司免费提供的开发工具包的早期版本简称为JDK(Java Developer’s Kit)。现在推出的开发工具包分化成为3个版本:J2SE(Java2 Platform,Standard Edition)、J2EE(Java2 Platform,Enterprise Edition)和J2ME(Java2 Platform,Micro Edition)。J2SE是用于工作站和个人计算机的标准开发工具包,J2EE是用于企业级开发的工具包,J2ME是用于开发智能消费型电子产品。
Java开发环境包括学习型(JDK+文本编辑器)和开发型环境(Eclipse、MyEclipse等)。下面将分别进行介绍。
1.3.1 JDK的下载、安装及环境变量的设置
1.JDK的下载与安装
JDK是一切Java应用程序的基础,所有的Java应用程序都是构建在这个基础之上的。JDK包含了Java开发所必需的常用库。JDK可以到Sun公司的网站(http://java.sun.com)下载。下载时要注意自己计算机的操作系统类型,下载的安装程序应当与自己计算机的操作系统相匹配,而且版本一般选择最新的。本书使用的JDK版本为jdk-7u1-windows-i586。
下载完成后,只要遵循安装程序的指示一步步地进行安装即可。具体安装步骤如下。
(1)双击JDK安装文件,进入JDK安装向导界面,如图1-1所示。
(2)单击“下一步”按钮进入自定义安装界面,在该界面可以修改安装路径,如图1-2所示。
图1-1 进入安装向导界面
图1-2 自定义安装
(3)进行设置后,单击“下一步”按钮即可安装,如图1-3所示为安装过程。
(4)修改JRE安装路径,如图1-4所示,可单击“更改”按钮进行更改。
图1-3 安装进度
图1-4 安装JRE
(5)修改完成后,单击“下一步”按钮进入JRE安装(见图1-5),安装完成(见图1-6)。
图1-5 正在安装JRE
图1-6 安装完成
2.环境变量的配置
成功安装JDK后,需要手动配置JDK环境变量。一共需要设置3个环境变量:JAVA_HOME、CLASSPATH、Path。值得注意的是,不同操作系统下配置过程稍有不同,本教材以Windows XP为例进行介绍,具体配置过程如下:
(1)右击桌面上的“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框,如图1-7所示。
(2)切换到“高级”选项卡,单击“环境变量”按钮,打开“环境变量”对话框,如图1-8所示。
图1-7“系统属性”对话框
图1-8“环境变量”对话框
(3)单击“新建”按钮,弹出“新建系统变量”对话框,在对话框中填入如图1-9所示新建变量JAVA_HOME及变量值,其中变量值为JDK安装路径。单击“确定”按钮即可返回。
(4)再次单击“新建”按钮,新建CLASSPATH变量并设置变量值,如图1-10所示。CLASSPATH的值有两个,一个为当前路径(用“.”表示),一个为J2SE类库所在路径,两个路径之间用分号间隔。
图1-9 新建JAVA_HOME
图1-10 新建CLASSPATH
图1-11 修改Path路径
(5)单击图1-8中的“编辑”按钮,修改Path路径,向已有的Path路径中添加bin文件路径,如图1-11所示。
(6)设置完成后,连续单击“确定”按钮,完成环境变量的设置。
(7)选择“开始”→“运行”命令,输入cmd后,进入MS-DOS窗口,在DOS窗口中输入javac或者java命令,出现如图1-12和图1-13所示的javac或者java命令的使用方法时,表示环境变量已经配置成功。
图1-12 javac命令使用方法
图1-13 java命令使用方法
1.3.2 Eclipse的安装及使用
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。Eclipse附带了一个标准的插件集,包括Java开发工具。Eclipse还包括插件开发环境,这个组件主要针对希望扩展Eclipse的软件开发人员,以允许开发人员构建与Eclipse环境无缝集成的工具。
1.下载并安装Eclipse
Eclipse软件包可以到官方网站http://www.eclipse.org/downloads/下载,它可以安装在各种操作系统上,在Windows下安装Eclipse,除了需要Eclipse软件包以外,还需要Java的JDK来支持Eclipse运行,并需要设置相关的环境变量,关于JDK的安装及环境变量设置可参考1.3.1节。
Eclipse属于绿色软件,不需要运行安装程序,不需要向Windows注册表填写信息,只需要将Eclipse压缩包解压就可以运行。
(1)将下载的eclipse-SDK-4.2.1-win32.zip解压,压缩到一个本地目录(例如D:\\eclipse)中,双击该目录中的eclipse.exe文件即可打开Eclipse,图1-14所示为Eclipse的启动画面。
(2)之后弹出Workspace Launcher对话框,如图1-15所示,选择或新建一个文件用来保存创建的项目,可以勾选复选框。
图1-14 Eclipse启动画面
图1-15 Workspace Launcher对话框
(3)设置好后,单击“OK”按钮,打开Eclipse工作界面,如图1-16所示。
2.Eclipse的使用
下面以一个简单的Hello Friends!为例介绍Eclipse的基本使用步骤。
(1)单击图1-16右上角的Workbench进入Eclipse开发界面,如图1-17所示。
图1-16 Eclipse工作界面
图1-17 Java工作界面
(2)新建Java项目。在Eclipse菜单中选择“File|New|Java Project”,打开“新建Java项目”对话框,如图1-18所示。填写项目名称,单击“Finish”按钮。
(3)新建Java类。在菜单栏中选择“File|New|Class”,打开“新建Java类”对话框,如图1-19所示。设置类名、包名(可以省略,将在后续课程介绍),勾选“public static void main(String[]args)”复选框,单击“Finish”按钮。
图1-18 新建Java项目
图1-19 新建Java类
(4)之后,Eclipse自动生成代码框架,我们只需修改main方法即可,如图1-20所示。
图1-20 输入代码
(5)保存之后,在菜单栏中选择“Run|Run As|Java Application”,即可在Eclipse控制台看到输出的结果,如图1-21所示。
图1-21 输出结果
1.3.3 MyEclipse 8.5.0安装、界面介绍
MyEclipse是一个十分优秀的用于开发Java、J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持。MyEclipse目前支持Java Servlet、AJAX、JSP、Struts、Spring、Hibernate、JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。
MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试等,MyEclipse 6.0以前版本需要先安装Eclipse,MyEclipse 6.0以后版本安装时不需安装Eclipse。
MyEclipse的不同版本可从网站自由下载,本书介绍MyEclipse 8.5.0的安装及使用过程:
(1)双击myeclipse-8.5.0-win32.exe安装文件后进入如图1-22所示安装向导。
(2)单击“Next”按钮,打开图1-23所示对话框,勾选复选框,继续单击“Next”按钮。
图1-22 安装向导
图1-23 Accept License
(3)在图1-24中选择安装位置,单击“Next”按钮,即可进入MyEclipse安装界面,如图1-25所示。
图1-24 选择安装位置
图1-25 安装界面
(4)单击“Install”按钮,MyEclipse开始安装,如图1-26所示。
(5)安装完成后,启动MyEclipse,会弹出图1-27所示对话框,在此可以设置MyEclipse程序的存放路径。
(6)因为MyEclipse是付费软件,所以需要进行注册。启动MyEclipse后,单击“File|Import”,打开如图1-28所示对话框。
(7)选择“General|Existing Projects into Workspace”,单击“Next”按钮,选择MyEclipse 8.5下载文件目录下的MyEclipseGen文件,单击“确定”按钮,返回图1-29所示对话框后,单击“Finish”按钮。
图1-26 MyEclipse安装过程
图1-27 存放路径
图1-28 导入项目
图1-29 导入选项
(8)选中MyEclipseGen项目,选择“Run|Run As|Java Application”,在控制台输出图1-30所示结果,在后边输入任意内容,如register,按回车键后在控制台输出注册序列号,如图1-31所示。
图1-30 用户名
图1-31 序列号
(9)选择MyEclipse菜单栏中的“Help|Update Subscription Wizard”,在弹出的对话框中填入图1-30和图1-31中的用户名和序列号后,单击“Finish”按钮,如图1-32所示。注册成功后即可使用MyEclipse。
(10)MyEclipse的使用过程与Eclipse类似,这里不再赘述。
1.3.4 MySQL的安装及功能介绍
这里以MySQL 5.0为例,说明MySQL的安装过程和使用方法。读者可以按照下面的安装过程,完成MySQL 5.0的安装和配置。
(1)首先双击安装文件,启动MySQL安装向导,出现如图1-33所示界面,并单击“Next”按钮,打开图1-34。
(2)这里需要选择安装类型,共有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,方便熟悉完整的安装过程,然后单击“Next”按钮。
图1-33 安装首界面
图1-34 Setup Type
(3)个性化选项设置:在图1-35中,单击“Developer Components(开发者部分)”选项,选择“This feature,
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询