Java程序设计基础教程pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:Java程序设计基础教程pdf/doc/txt格式电子书下载
推荐语:
作者:谷志峰编
出版社:电子工业出版社
出版时间:2016-04-01
书籍编号:30468333
ISBN:9787121284939
正文语种:中文
字数:102309
版次:1
所属分类:教材教辅-大学
版权信息
书名:Java程序设计基础教程
作者:谷志峰
ISBN:9787121284939
版权所有 · 侵权必究
前言
Java语言是当前比较流行的一门语言,是计算机类及信息工程类专业必开的一门课程。目前计算机类本科学生一般在大二或大三才开始开设Java课程,在学习Java语言之前往往还要学习C语言、C++等前修课程,C语言、C++的语法和Java语言是非常相近的,学完这些课程再学习Java语言,一方面学生会感觉到内容重复,从而会产生学习动力不足的情况,另一方面也浪费了很多宝贵的时间。作者认为对于计算机类及信息工程类的学生来说,Java课程完全可以放在大一开设,但目前市面上很难找到一本适合大一学习的Java教材。目前市面上的Java教材大都是用大量的篇幅介绍面向对象,而刻意淡化Java的基础语法知识;面向对象是Java的精华所在,详细介绍并不为过,但是这样的篇幅安排,对于Java的初学者是非常不利的。
另外,Java程序开发主要有三个方向:Java SE、Java EE、Java ME,这三个方向的开发对Java知识的侧重点也是不一样的,例如,Java EE主要进行Java Web开发,就不需要Java界面编程的知识,而Java ME主要进行手机等手持设备开发,对Java界面编程的知识要求就比较高。而目前市面上的Java教材往往是大而全的,这样的教材会增加学生的学习负担和经济负担。
本书主体内容是围绕Java基础语法和面向对象这两个核心内容展开的,详细介绍了Java最基础的语法知识和面向对象的编程思想。内容包括Java语言概述,数据类型、运算符和表达式,控制结构和控制语句,数组和字符串,类和对象,继承、多态和接口,集合和泛型,异常处理,常用类。这样的结构安排使得本书既适合没有语言基础的初学者进行学习,又兼顾Java程序开发的方向性,对于Java ME的开发方向,学完本书后只需要再自学界面编程及多线程等知识即可,而对于Java EE的开发方向,本书的内容已经足够应付该方向的Java知识需求。
本书通俗易懂,案例充盈,将复杂的知识点寓于案例中,力求做到案例教学;对于重要的章节都设有大的应用案例,应用案例尽可能将本章所有知识点融于其中,力求做到项目驱动;使用本书作为教材,将使得案例教学、项目驱动成为一件很容易做到的事情。
本书的参考教学时数在72学时以内,可作为普通院校计算机及信息工程或相关专业本科生的教材或参考书,也可供相关领域的读者参考。
本书由谷志峰、琚伟伟任主编,负责全书统稿,李同伟任副主编。具体分工为:第4章、第5章、第7章由谷志峰负责编写;第2章、第3章、第6章由琚伟伟负责编写;第1章、第9章由李同伟负责编写;第8章由苏向英负责编写。
本书的出版得到了河南科技大学软件学院及教务处的大力支持,软件学院的霍华、刘欣亮、叶传奇、张虎老师对本书的编写提出了很多宝贵的意见。另外,本书的出版也得到了国家自然科学基金(11404096,U1404609)、河南省高等学校重点科研项目(16A140008)、河南科技大学博士科研启动基金的资助。在此,我们一并表示衷心的感谢。
尽管在编写过程中,我们本着科学严谨的态度,力求精益求精,但错误、疏忽之处在所难免,敬请广大读者批评指正。
编者
2016年4月于河南科技大学
第1章 Java语言概述
Java语言是目前比较流行的一门语言,据各大招聘网站统计,目前国内的软件开发市场中,Java 程序员的需求量基本占到45%左右,市场占有率非常高。Java程序开发主要有三个方向:Java SE、Java EE、Java ME。
Java SE是Java平台标准版的简称(Java Platform,Standard Edition)(also known as Java 2 Platform),用于开发和部署桌面、服务器及嵌入设备与实时环境中的Java应用程序。Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。
Java EE是Java平台企业版的简称(Java Platform,Enterprise Edition),用于开发便于组装、健壮、可扩展、安全的服务器端Java应用。Java EE建立于Java SE之上,具有Web服务、组件模型及通信API等特性,这些为面向服务的架构(SOA)及开发Web2.0应用提供了支持。Java EE基于Java SE,此外新加了企业应用所需的类库。
Java ME是Java微型版的简称(Java Platform,Enterprise Edition),是一个技术和规范的集合,它为移动设备(包括消费类产品、嵌入式设备、高级移动设备等)提供了基于Java环境的开发与应用平台。Java ME目前分为两类配置,一类是面向小型移动设备的CLDC(Connected Limited Device Profile),一类是面向功能更强大的移动设备如智能手机和机顶盒,称为CDC(Connected Device Profile)。
不管是Java SE、Java EE,还是Java ME开发,所依赖的开发基础都是Java程序设计语言,所以Java语言基础的重要性就越发凸显出来。
1.1 Java语言简介
计算机语言更新换代的速度是比较快的,Java语言是目前比较新的一种语言,是由Sun Microsystems公司(Sun Microsystems公司目前被甲骨文公司并购)开发而成的新一代编程语言。使用它可在各式各样不同机器、不同操作平台的网络环境中开发软件,Java语言是一种为网络量身定做的语言,是目前Web应用的主要开发语言。它彻底改变了应用软件的开发模式,为迅速发展的信息世界增添了新的活力。
1991年,Sun Microsystems公司的James Gosling、Bill Joe等人,为在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的语言。Oak语言是在C和C++计算机语言的基础上进行简化和改进的一种语言,很快Sun Microsystems公司重新给这种语言命名为Java计算机语言。
1993年之后,WWW已如火如荼地发展起来。Sun Microsystems公司重新分析市场需求,Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高、可靠安全、有交互功能的浏览器,于是Gosling决定用Java开发一个新的Web浏览器。实践证明Sun Microsystems公司的这次市场决策是非常成功的。
1995年Sun Microsystems公司在“Sun world95”大会上正式向IT业界推出了Java语言,这种语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,而这个时期以Web为主要形式的互联网应用正在迅猛发展,这时几乎所有程序员和软件公司对Java语言的出现表现出了极大的关注,开发人员纷纷尝试用Java语言编写网络应用程序,他们的努力使Java语言朝着网络应用的方向飞速发展,Java的地位也随之得到肯定。又经过一年的试用和改进,Java 1.0版终于在1996年年初正式发表。
1999年,Sun Microsystems公司重新组织Java平台的集成方法,将Java 2平台分为三大块:J2SE,J2EE,J2ME。这次市场推广革命顺应了网络急速发展的潮流,对Java 2平台的发展起到了很好的催化剂的作用,使得Java语言可以支持智能消费型电子产品的开发、各种应用程序的开发,尤其是Web应用程序的开发。
2000年5月8日,J2SE 1.3发布,2002年2月26日,J2SE 1.4发布,自此Java的计算能力有了大幅提升。2004年9月30日,J2SE 1.5发布,J2SE 1.5发布成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0,2006年12月,Sun Microsystems公司发布了Java 6.0,2009年04月20日,Oracle公司74亿美元收购Sun Microsystems,取得Java的版权。2011年7月28日,Oracle公司发布Java 7.0的正式版。2014年3月19日,Oracle公司发布Java 8.0的正式版。
1.2 Java语言的特点
Java语言是一种为网络量身定做的语言,它的基本结构与C语言极为相似,但却简单得多,摒弃了C语言中较为复杂的指针技术,同时它又集成了其他一些语言的特点和优势,Java语言的主要特点如下。
1.面向对象性
Java语言是一种纯粹的面向对象的语言,Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。所有的Java程序和applet均是由类构成的,类是Java程序的基本组成单元,Java支持静态和动态风格的代码继承及重用。
2.平台无关性
Java与平台无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够,如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。Java通过定义独立于平台的基本数据类型及其运算,使Java数据得以在任何硬件平台上保持一致,这也体现了Java语言的可移植性。还有Java编译器本身就是用Java语言编写的,Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成,Java语言规范中也没有任何“同具体实现相关”的内容,这说明Java本身也具有平台无关性,使得Java语言具有很好的可移植性,从而可以实现“一次编写,多处使用”。
3.开源性
开源不是开放编译器的源代码,而是写了一个软件,然后把这个软件的源代码发布到网上,让大家都可以学习、改进,这就是开源。开源要符合一定的规范,Java语言就具备开源性,开源的特点使得Java语言非常适合互联网时代的“我为人人,人人为我”的互联网精神,从而也使得Java更加适合互联网开发。
4.分布式
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库,因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。Java的分布性为在分布环境尤其是Internet下实现动态内容提供了技术途径。
5.健壮性
Java是一种强类型语言,它在编译和运行时要进行大量的类型检查。类型检查可以检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java的数组并非采用指针实现,从而避免了数组越界的可能。Java通过自动垃圾收集器避免了许多由于内存管理而造成的错误。Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误发生的可能。
6.结构中立
作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构无关的中间文件格式。只要有Java运行系统的机器,都能执行这种中间代码,从而使同一版本的应用程序可以运行在不同的平台上。
7.安全性
作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言中,指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。Java语言在机器上执行前,要经过很多次测试。它经过代码校验、检查代码段的格式、检测指针操作、对象操作是否过分及试图改变一个对象的类型。另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏行为的发生。
8.高性能
虽然Java是解释执行程序,但它具有非常高的性能。另外,Java可以在运行时直接将目标代码翻译成机器指令。
9.多线程
线程有时也称小进程,是一个大进程中分出来的小的独立运行的基本单位。Java提供的多线程功能使得在一个程序中可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。多线程带来的更大的好处是具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。
10.动态性
Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,而不影响使用这一类库的应用程序的执行,这是采用C++语言进行面向对象程序设计时所无法实现的。
正是由于这些特点,Java在企业级市场具有绝对的垄断地位,市场占有率应该超过80%。在消费市场,其地位也非常稳固。根据Java官方提供的数据,基于Java的媒体设备已达1.25亿台,Java卡的出货量也已超过了100亿个。在全球范围内,Java技术已广泛应用于提高道路和航空安全性、从大洋深处采集科学应用所需的信息、提升作物质量、通过量化处理来协助战胜饥饿、模拟人的大脑与肌骨系统及游戏等各个领域。
1.3 搭建Java开发环境
Java程序是运行在Java的虚拟机即JVM上的,所以Java程序的开发首先需要搭建开发环境,搭建Java开发环境主要包括如下几个步骤:下载并安装Java Develop Kit(JDK);配置环境变量。下面分别进行详细介绍。
1.下载JDK
读者可到Oracle公司的Java SE的下载主页(如图1-1所示)http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JDK软件,不是Java程序的开发者,仅仅想在自己的系统中运行Java程序,那么只需一个JRE就可以了;如果想使用Java开发自己的应用程序,则需要下载JDK,其中已包含JRE,因此下载了JDK后无须再单独下载JRE。
图1-1 Java SE的下载主页
单击DOWNLOAD JDK链接后,进入下载选择界面(如图1-2所示),勾选Accept License Agreement(接受服务条款),操作系统分为32位操作系统和64位操作系统,对应地,JDK也分为32位版和64位版(名称中带有“i586”或“x86”的为32位版,带有“x64”的则表示该JDK为64位版)。64位版JDK只能安装在64位操作系统上,32位版JDK则既可以安装在32位操作系统上,也可以安装在64位操作系统上。原因是64位的操作系统能够兼容32位的应用程序。
图1-2 下载选择界面
2.安装JDK
在Windows下安装JDK与安装其他程序的步骤基本相同,下面进行详细介绍。
在Windows中,双击刚才下载的JDK安装文件,就会打开安装界面,如图1-3所示。
图1-3 打开安装界面
单击“下一步”按钮,进入界面如图1-4所示。
选择安装路径,一般是默认安装路径,选择完成后,单击“下一步”按钮,这时就会进行安装了,中间遇到选择项,请选择默认项直到出现如图1-5所示界面。
继续单击“下一步”按钮,将会出现如图1-6所示界面。
图1-4 安装界面1
图1-5 安装界面2
图1-6 安装界面3
单击“关闭”按钮,JDK安装到此完成。来到安装文件夹下,即可以看到已安装的JDK的目录结构,如图1-7所示。
图1-7 已安装的JDK的目录结构
JDK安装完成后,还需要进行系统环境变量的配置。
3.配置环境变量
所谓环境变量,就是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序所将使用到的信息。如果安装完JDK之后,不配置Java的环境变量,那么在DOS命令行环境下就找不到Java的编译程序和Java的运行程序,也就不能在DOS环境下进行Java编译与运行程序了。与JDK或JRE的使用有关的是path、classpath两个环境变量。path变量中存储的是JDK命令文件的路径,path变量用来告诉操作系统到哪里去查找某个命令,只有设置好path变量,才能正常地编译和运行Java程序。classpath则表示的是“类”路径,classpath变量中存储的是JDK的类文件的路径,classpath变量用来告诉Java执行环境,在哪些目录下可以找到执行Java程序所需要的类或包,在这些包中包含了常用的Java方法和常量。path变量的值是JDK命令文件的路径,它的值应该设置成:“C:\\Program Files(x86)\\Java\\jdk1.8.0_11\\bin;”。classpath变量的值是JDK类文件的路径,它的值应该设置成:“.;C:\\Program Files(x86)\\Java\\jdk1.8.0_11\\lib;”。注意C:\\Program Files(x86)是根路径,用户可以根据自己JDK的安装位置,调整C:\\Program Files(x86)的值。下面分别对这两个环境变量进行设置。
选中桌面“计算机”,右击“属性”,然后,选择左边的“高级系统设置”,如图1-8所示。
单击“环境变量”按钮,进入环境变量设置,在该界面可以建立新的系统变量,也可以对已经存在的系统变量进行修改或删除,如图1-9所示。
单击“新建”按钮,添加一个名字是path的环境变量,变量的值是:“C:\\Program Files(x86)\\Java\\jdk1.8.0_11\\bin;”,如图1-10所示。
输入完成后,单击“确定”按钮,即可进行保存。path变量就出现在了系统变量列表中了,如图1-11所示。
图1-8 高级系统设置
图1-9 环境变量
图1-10 新建系统变量
图1-11 系统变量列表
注意:因为安装某些其他软件也需要配置path变量,可以选中path变量,单击“编辑”对该变量进行编辑,如果因为其他软件path变量问题,使得JDK运行异常,可以将Java的path变量的值,放在其他软件path变量的值的前面,最后以分号结束,这样就能解决这个问题。
然后来配置classpath环境变量,单击“新建”按钮,添加一个名字是classpath的环境变量,变量的值是:“.;C:\\Program Files(x86)\\Java\\jdk1.8.0_11\\lib;”,如图1-12所示。
图1-12
输入完成后,单击“确定”按钮,即可进行保存。至此环境变量配置完成,在以下小节中将通过第一个Java程序的编写和运行,来测试环境变量的配置是否正确。
1.4 第一个Java程序
在1.3节配置好了开发Java的环境变量,本节将编写一个简单的Java程序,并进行运行,以便测试1.3节所配置的环境变量是否有效。Java程序开发的基本过程是:程序编写,程序编译,程序运行。按照这个步骤,我们在DOS环境下进行第一个Java程序的编写和运行。
1.程序编写
在软件开发教学中,经常用HelloWorld程序作为教学的第一个程序。HelloWorld程序非常简单,作用仅仅是在控制台输出“HelloWorld”字符串,如果正常输入,则表明开发环境的搭建是正确的。Java程序是一门纯粹的面向对象的语言,在Java程序中,类是组成程序的基本单位,一个Java程序可以由多个类组成,但其中只能有一个访问修饰符是public的类,并且Java程序的文件名必须和这个public类的类名相同。Java程序可以分为Java Application(Java应用程序)和Java Applet程序,现在Java Applet因为其自身的一些不足之处,在实际应用中已经很少有人在用了,所以本书中以后所提到的Java程序都专指Java应用程序。在Java应用程序中,有且仅有一个main函数。下面以HelloWorld程序为例,简单介绍Java应用程序的程序结构。
代码如下:
在以上代码中,//的作用是单行注释,单行注释的注释内容写在//后面。Java中有三种注释,除了//之外,还有/*...*/和/**...*/,后两种是多行注释,区别是/**...*/可以使用javadoc命令生成Java的帮助文档。在实际项目中使用得非常多,注释的作用是增加程序的可读性,对代码的编译和运行是没有影响的。
将编写好的程序存储在文件名是HelloWorld.java的文件中,将该文件放在E盘的根目录下。
2.程序编译
在运行窗口输入cmd(如图1-13所示),进入DOS开发界面(如图1-14所示)。
图1-13 在运行窗口输入cmd
图1-14 DOS开发界面
在DOS界面下,输入E:,回车切换到E盘根目录下,如图1-15所示。
图1-15 输入E:回车切换到E盘根目录下
在环境变量配置好的情况下,在DOS的E盘根目录下,输入javac HelloWorld.java(如图1-16所示),然后回车。其中javac是JDK中编译Java文件的命令,HelloWorld.java是之前已经编写好的Java程序。如果程序有错误,那么将会在DOS界面下显示错误信息,否则对文件进行编译,并生成一个HelloWorld.class文件。
图1-16 输入javac HelloWorld.java
在E盘根目录下输入java HelloWorld.class,其中java是JDK中运行Java文件的命令,HelloWorld.class是经编译后生成的class文件。将输出“HelloWorld”字符串(如图1-17所示)。
到此为止,第一个Java程序的编写、编译及运行就完成了。
图1-17 输出字符串
1.5 常用开发工具及在Eclipse环境下程序的开发
在DOS下开发Java程序虽然是可行的一种方案,但是开发过程比较复杂,编译运行也不方便,所以这种方案一般仅仅用做环境变量搭建是否成功的一种测试,作为一种目前比较流行的计算机语言,Java语言的常用开发工具是比较多的,本节仅对最流行的JDeveloper、NetBeans、Eclipse进行介绍。
1.Oracle的JDeveloper
Oracle9i JDeveloper(定为9.0版,最新为10g)为构建具有J2EE、XML和Web services功能的、复杂的、多层的Java应用程序提供了一个完全集成的开发环境。它为运用Oracle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能,除此以外,它也有资格成为用于多种用途Java开发的一个强大的工具。如图1-18所示。
图1-18 Oracle9i JDeveloper
Oracle9i JDeveloper的主要特点如下。
(1)具有UML(Unified Modeling Language,一体化建模语言)建模功能,可以将业务对象及e-business应用模型化。
(2)配备高速Java调试器(Debugger)、内置Profiling工具、提高代码质量的工具“CodeCoach”等。
(3)支持SOAP(Simple Object Access Protocol)“简单对象访问协议”、UDDI(Universal Description,Discovery and Integration)“统一描述、发现和集成协议”、WSDL(Web Services Description Language)“Web服务描述语言”等Web服务标准。
JDeveloper不仅仅是很好的Java编程工具,而且是Oracle Web服务的延伸,支持Apache SOAP及9iAS,可扩充的环境与XML和WSDL语言紧密相关。Oracle9i JDeveloper完全利用Java编写,能够与以前的Oracle服务器软件及其他厂商支持J2EE的应用服务器产品相兼容,而且在设计时着重针对Oracle9i,能够无缝化跨平台之间的应用开发,提供了业界第一个完整的、集成了J2EE和XML的开发环境,允许开发者快速开发可以通过Web、无线设备及语音界面访问的Web服务和交易应用,以往只能通过将传统Java编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用开发生命周期管理的事实,从根本上得到改变。缺点就是对于初学者来说较复杂,也比较难。
2.NetBeans
NetBeans是开放源码的Java集成开发环境(IDE),适用于各种客户机和Web应用。Sun Java Studio是Sun Microsystems公司最新发布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,适于创建和部署2层J
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询