描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302527008丛书名: 普通高等职业教育“十三五”规划教材
任务11安装Java开发环境
111任务内容
112相关知识
113任务实施
114技能提高
任务12Java基础程序设计
121任务内容
122相关知识
123任务实施
124技能提高
任务13数组和字符串程序设计
131任务内容
132相关知识
133任务实施
134技能提高
学习领域2:面向对象编程
任务21面向对象编程技术初步
211任务内容
212相关知识
213任务实施
214技能提高
任务22面向对象编程技术进阶
221任务内容
222相关知识
223任务实施
224技能提高
任务23异常处理
〖1〗
Java语言程序设计(第二版)
〖1〗
目录
〖1〗
〖1〗
231任务内容
232相关知识
233任务实施
234技能提高
学习领域3:图形界面设计
任务31Swing程序设计
311任务内容
312相关知识
313任务实施
314技能提高
任务32事件处理
321任务内容
322相关知识
323任务实施
324技能提高
任务33多线程
331任务内容
332相关知识
333任务实施
334技能提高
学习领域4:编程技术应用
任务41输入输出处理
411任务内容
412相关知识
413任务实施
414技能提高
任务42数据库编程
421任务内容
422相关知识
423任务实施
424技能提高
任务43网络编程
431任务内容
432相关知识
433任务实施
434技能提高
附录1使用Javadoc工具制作开发文档
附录2Java编程风格简述
参考文献
从Java程序开发初学者晋级到编程高手通常需要经历3个阶段。本书的内容就是按照这一规律精心编写的,书中的内容分为4个部分。
第1部分:Java语言概述。此部分包含了Java基础、Java IDE开发工具、Java语法基础、流程控制语句和数组等内容。书中结合大量的图标、举例、技巧等使读者快速掌握Java开发工具和Java语言,为以后进行Java编程打下坚实的基础。
第2部分:面向对象编程。此部分介绍了有关Java面向对象的知识,包括面向对象、类的继承与多态特征、包与接口应用、异常处理等。书中使用大量的实例和图解,详细讲解了面向对象的程序设计方法和面向对象的各种特征。通过此部分的学习,读者应该能够完全掌握面向对象的继承、封装、多态特性及方法的重写和重载技术等。
第3部分:图形界面设计。此部分介绍了使用Java语言进行图形界面编程的各种关键技术,包括Swing程序设计基础、GUI事件处理、使用线程实现多任务等。使用Swing技术开发桌面应用程序,增加了程序的交互性,使读者更容易学习和理解。
第4部分:编程技术应用。此部分介绍了编程常用类、数据的输入输出处理、数据库编程、网络程序设计等。学习完此部分内容后,读者能够开发数据库、网络等领域的小型应用程序。
每部分内容都引入学习任务,这些任务是由作者精心挑选的、涵盖了各个知识点的项目。通过项目,读者可以巩固前面所学的知识和技术,积累项目开发经验。
【本书特点】
1通俗易懂,而且对图示、代码几乎都加了注释,以帮助读者降低理解难度,快速上手。
2提供大量的实战模块、实战案例、实战练习,以增强读者动手能力,激发学习兴趣,读者可仔细研究这些模块,并亲自动手调试。
3本书同时提供电子教案和课件,为教师授课和学生学习提供方便。
本书由辽宁机电职业技术学院孙莉娜、胡国柱,山西华澳商贸职业学院张校磊,山西水利职业技术学院吴翠鸿,内蒙古商贸职业学院田智,山东劳动职业技术学院陈静等老师共同编写。其中胡国柱编写学习领域1各个任务,孙莉娜编写学习领域4各个任务以及附录1和附录2的内容,其他老师编写其余领域内容。
由于作者水平有限,书中难免会有纰漏之处,敬请广大读者批评指正。
编者
学习领域1:Java语言概述
〖1〗
Java语言程序设计(第二版)
〖1〗
学习领域1Java语言概述
〖1〗
〖1〗
任务11安装Java开发环境
本部分介绍Java语言的发展历程、技术特点和Java体系结构等,使读者对Java语言有一个基本的认识。随后配置Java开发环境,使初学者能够以较高的效率开发Java应用程序。
111任务内容
Java开发环境的搭建:安装JDK 17和集成开发环境Eclipse,开发执行第一个Hello World程序。执行过程如下。
(1)JDK的安装与配置。
(2)Java开发环境的配置。
(3)IDE集成开发环境Eclipse的安装与配置。
(4)开发执行Java Application应用程序和Java Applet小应用程序。
112相关知识
知识点一:Java语言简介
1991年,Sun公司的James Gosling等人为了解决消费类电子产品的微处理器计算问题,开发出一种名为 “Oak”(中文译为“橡树”)的与平台无关的语言,它就是Java语言的前身。它用于控制嵌入在有线电视交换盒、PDA(Personal Digital Assistant,个人数字助理)、家用电器等的微处理器中。
1993年交互式电视和 PDA 市场用量开始滑坡,而 Internet 正处于发展时期,因此Sun 公司将目标市场转向 Internet 应用程序。
1994年Sun公司将Oak语言更名为Java(Java译为“爪哇”,是印度尼西亚一个盛产咖啡的岛屿),并于1995年正式推出它的第一个版本。Internet的迅猛发展与WWW(万维网)应用的快速增长,为Java的发展带来了契机。Java语言优秀的跨平台特性使之非常适合于Internet编程,最初用Java语言编写的Hot Java浏览器和应用于Web页面的Applet程序,使Java语言成为Internet上最受欢迎的开发语言。Sun公司采取了“开放式”的合作政策,采用了颁发使用许可证的方式来允许各家公司把Java虚拟机(JVM)嵌入自己的操作系统或应用软件中,这吸引了大批公司加入到Sun联盟,如IBM、HP、Netscape、Novell、Oracle、Apple等公司;而且开发平台的源代码完全开放,这使得开发人员很容易只使用一种Java语言来实现网络各平台之间的开发、编程和应用,这也是Java语言得以迅猛发展的一个主要原因。现在全球有近70%的公司使用Java语言开发自己的计算机软件系统。
1995年,Sun公司发布了Java的第一个版本Alpha 10a2版本,开发出Hot Java浏览器。1996年,Sun公司发布了Java的第一个开发包JDK v10。1997年,Sun公司发布了Java开发包JDK v11。1998年,Sun公司发布了Java开发包JDK v12(称为Java 2)。
1999年,Sun公司重新组织了Java平台的集成方法,并将企业级应用平台作为公司今后发展的方向。现在的Java开发平台的编程构架一共有三种:J2SE、J2EE、J2ME。
J2SE (Java 2 Platform, Standard Edition ) ,即Java 2平台标准版,包含构成Java语言核心的类。它是用于工作站、PC的开发平台,也是三个编程构架中最基本的一个构架,J2EE和J2ME就是在J2SE的基础上发展、转化而来的。
J2EE (Java 2 Platform, Enterprise Edition ),即Java 2平台企业版。J2EE应用于可扩展的、基于分布式计算的企业级开发平台,如Intranet(企业内部网),有业界大量的其他软件技术融入J2EE构架中(如微软的XML技术),因此它具有更高的可扩展性、灵活性和集成性。
J2ME (Java 2 Platform,Micro Edition ),即Java 2平台微型版。J2ME用于嵌入式开发,为消费类电子产品软件开发服务,如手机系统或手机游戏软件的开发。
三种版本使用的类库也不尽相同,本书内容的大部分类都来自J2SE构架。
知识点二:Java语言的特点
1简单性与分布式
Java作为一种高级编程语言,在语法规则上和C 类似,C 程序员会比较容易地掌握Java编程技术。Java摒弃了C 容易引起错误的内容,如指针操作和内存管理,使程序设计变得简单、高效。
Java是面向网络的编程语言,它提供了基于网络协议(如TCP/IP)的类库。使用这些类,Java应用程序可以很容易地访问网络上的资源。Java应用程序可通过一个特定的URL对象打开并访问网络资源,就像访问本地文件系统那样简单。
2纯面向对象
面向对象编程技术具有很多优点,比如通过对象的封装,减少了对数据非法操作的风险,使数据更加安全;通过类的继承,实现了代码的重用,提高了编程效率等。Java语言的编程主要集中在类、接口的描述和对象引用方面。面向对象编程技术适合开发大型的、复杂的应用程序,且程序代码易于理解和维护,是编程发展的一个趋势。
3健壮性与安全性
Java语言在编译和运行时具有健壮性,可以消除程序错误带来的影响。Java语言提供了较完备的异常处理机制,在编译和运行程序时,系统对代码进行逐级检查,指出可能产生错误的地方,要求必须对可能存在错误的代码进行必要的处理,以消除因产生错误而造成系统崩溃的情况。它提供自动垃圾收集功能来进行内存管理,防止出现程序员在管理内存时容易产生的错误,这些措施都保证了Java系统运行的可靠性。
作为网络编程语言,安全是至关重要的。一方面,在语言功能上,由于Java不支持指针,消除了指针操作带来的安全隐患;另一方面,Java具有完备的安全结构和策略,代码在编译和运行过程中被逐级检查,可以防止恶意程序和病毒的攻击,如编译器会查找出代码错误,编译之后生成字节码,通过字节码校验器,病毒代码将无所遁形,因此也有人称Java语言为“永远不会感染病毒的语言”,在加载类的时候,还会通过类加载器进行校验。
4平台独立与可移植性
互联网是由各种各样的计算机平台构成的,如果要保证应用程序在网络中任何计算机上都能正常运行,必须使程序具有平台无关性,即软件本身不受计算机硬件系统和操作系统的限制。Java是一种“与平台无关”的编程语言,Java的源文件是与平台无关的纯文本,而Java源文件通过编译后生成的类文件(即字节码文件)通过Java虚拟机(JVM)可以在不同的平台上运行,与具体机器指令无关。Java的基本数据类型在设计上不依赖于具体硬件,为程序的移植提供了方便。
5解释执行
Java是一种先编译后解释执行的编程语言,Java源程序经过编译后生成被称作字节码(Byte Code)的二进制文件,JVM 的解释器解释执行字节码文件。解释器在执行字节码文件时,能对代码进行安全检查,以保证没有被修改的代码才能执行,提高了系统的安全性。另外,JVM由Sun公司特别制作并在网上实时更新,它的运行效率远高于一般的解释性语言的解释器。
6多线程与动态性
多线程机制使程序代码能够并行执行,充分发挥了CPU的运行效率。程序设计者可以用不同的线程完成不同的子功能,极大地扩展了Java语言的功能。支持多线程机制是现今网络开发语言的基本特性之一。
Java在设计上力求适合不断发展的环境。在类库中可以自由地加入新的方法和实例而不会影响用户程序的执行。Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式且易于扩展。Java的类库是开放的,所有的程序员可以根据需要自行定义类库。
知识点三:Java平台特性
1了解Java的跨平台特性
什么是平台呢?简单的理解是计算机软件系统与计算机硬件系统的结合体。比如IBM PC Windows机、Apple公司的Mac OS等。我们知道,不同种类的计算机有不同的机器语言(内码),为一种平台编写的代码不能在另一种平台上运行,这是因为它们的内码不同。
编程语言分为三类:机器语言、汇编语言、高级语言。
Java语言是一种“先编译后解释”的高级语言,它的地位等同于C、C 或Visual Basic等语言。从功能上来看,Java也可以实现C、C 或Visual Basic等语言的大部分功能,如控制台(Console)程序和GUI(Graphics User Interface,图形用户界面)程序,只不过侧重点有所不同。Java语言是基于Web开发的一种高级语言,它的“强项”在网络上!
下面我们介绍一下Java的编译和运行过程,如图11所示。
图11 Java编译与运行过程
Java语言通过编译器在本地将源程序(扩展名为java)文件编译成字节码文件(扩展名为class),可以通过复制或通过网络传送到目的平台,然后通过目的平台的解释器(也可能是浏览器的解释器)来解释执行。
那么Java又是如何完成跨平台的呢?如图12所示,Java在运行过程的中间环节引入了解释器来帮助它完成跨平台。
图12 Java语言的运行过程
下面介绍一个非常重要的概念——Java虚拟机(Java Virtual Machine,JVM)。
JVM是在计算机内部模拟运行的假想的计算机。它可以是硬件或软件(通常为软件)。它有自己独立的指令集系统(相当于计算机的CPU、内存和寄存器等设备)。JVM负责将Java字节码程序翻译成机器码,然后由计算机执行。
JVM的主要功能为:加载 class 文件,管理内存,执行垃圾收集。
在计算机执行Java程序时,需要JVM和核心类库的支持。Java采用的方法是:在操作系统和硬件平台上模拟一种抽象化的计算机系统运行时环境(Java Runtime Environment,JRE),而JRE包含了JVM和运行程序所需系统核心类库。JVM和JRE是随着JDK(Java Development Kit,Java 开发工具包)的安装而建立起来的。
对Java语言而言,它的源文件和字节码文件(中间码文件)都是与平台无关的,它们可以通过网络传输到任何一个网络平台中并可以被识别。然后通过目标平台本地的JVM解释执行。但要注意:JVM是与平台相关的。因为字节码是通过网络传输到目标计算机平台上再通过JVM运行的,而不同种类的计算机有不同的内码,从这里就可以推断出,每一个特定平台上应该有一个特定的JVM,即JVM是与平台相关的。
2Java程序的运行时环境
前面介绍了Java虚拟机(JVM)的概念,JVM的核心是解释器。而程序运行时需要的是JRE,可以简单地把JRE理解成工作在操作系统之上的一个小型操作系统,它包含了运行在其上的JVM及本地平台的核心类库,如图13所示。
下面详细描述JRE中各部件的作用。
(1) 类加载器(Class Loader):用来加载Class文件的部件,同时针对跨网络的类,进行安全性检查。
(2) 字节码校验器(Byte Code Verifier):基于代码规范,对语法语义、对象类型转换和权限安全性访问进行检查。
(3) 解释器(Interpreter):JVM的核心部件,把字节码指令映射到本地平台的库和指令上,使之得以执行。
图13 Java运行时环境
(4) JIT代码生成器(Just In Time):即时代码生成器(即时代码编译器)是另一种解释执行字节码的方法。通常的解释器是逐行解释和运行,而编译器是对代码做全体编译后再连接执行,因此解释型语言的执行效率一般都低于编译型语言。而为了提高运行效率,Java提供了JIT运行方式,它可以一次性地解释完所有代码,再去运行机器码,而且曾经解释过的代码会进入缓存,如果下次再调用这部分代码,就从缓存中取出,这样就极大地提高了Java的运行效率。因为这种解释运行的方式类似于编译器,因此也称其为“JIT即时编译器”。JIT就类似于引擎对于一辆赛车的意义,是JRE的核心部件。
(5) API类库:实现标准Java平台API的代码。
(6) 硬件本地平台接口:提供对底层系统平台资源库的调用接口。
3垃圾收集器
许多计算机语言都有在程序运行时动态分配存储空间的功能,当这部分内存空间不再使用的时候,程序应停止分配内存空间并回收它们。但是回收内存空间却不是件容易的事情,C和C 语言通常需要程序员自行编写代码回收动态内存空间,这增加了程序员的负担,还会因为代码不健壮造成系统问题。
Java语言提供了一个自动进行内存管理的工具,就是垃圾收集器(Garbage Collector)。它是一个系统级的线程,专用于对内存进行跟踪和回收。但因为垃圾收集器是一个优先级比较低的后台线程(Daemon Thread),所以它只在系统有空闲的时候才会回收垃圾内存,而且也无法判断垃圾收集器何时回收内存,以及要运行多长时间,这一切都是自动完成的。这使得程序在运行时会出现不连贯的现象,在一定程度上降低了代码的运行效率,但这个代价还是值得付出的。
知识点四:JDK目录结构
1什么是JDK
JDK(Java Development Kit)即Java 开发工具包,是有助于程序员开发Java 程序的工具包,其中包括类库、编译器、调试器、Java 运行时环境(JRE)。
Sun公司为各种主流平台(如Windows、Solaris、Macintosh等)制作了JDK,可以从网址http://Javasuncom//products/下载JDK。如下载的文件为j2sdk1_6_0betawindowsi586exe,表示此JDK为Java 2标准版,版本号为16(内部版本号为60),beta表示测试版,适用于Windows系统的计算机。
2JDK的目录结构
下载并安装完JDK后,假设安装的目录为:C:\Program Files\Java\j2sdk160。在 \Java\j2sdk160目录下有以下文件及子目录。
根目录包括版权、许可和Readme文件,还有构成Java核心API的所有类文件的归档文件srcjar。
bin目录是JDK开发工具的可执行文件,包括编译器、解释器、调试器等。
demo目录中有丰富的演示程序源代码。
include目录支持Java本地机接口(JNI)和Java虚拟机调试程序接口的C语言头文件。
JRE(Java Runtime Environment),即Java运行时环境,包含JVM、运行时的类包和Java链接启动器,但是不包含编译器和调试器。jre目录包含的部分子目录及文件如下。
lib/jawjar:提供了Netscape的JavaScript和Security类。
lib/charsetsjar:字符转换类。
lib/rtjar:Java基本类库(JFC)。
lib/ext/:包含扩展的jar文件。
bin/keytool:密码认证和管理工具。
另外,\jre\bin目录下,还包括Java Web Start(JWS)的运行程序Javawsexe。
lib目录包含开发工具使用类的归档文件。其中有:
toolsjar:包含支持JDK的工具和实用程序的非核心类。
dtjar:是Swing组件类BeanInfo文件的DesignTime归档。
sample目录中有一些JNLP(Java网络装载协议)应用的样例程序。JNLP能使远程客户访问和运行那些位于本地机器的应用程序。JNLP应用程序的优点是它可以在网络上实现自安装和自更新。
知识点五:Java程序开发
Java的基础应用中包含两种类型的应用:一种是Java Application,称为Java应用程序;另一种是Java Applet,称为Java小应用程序。
Java Application以main()方法作为程序入口,由Java解释器解释执行,用以实现控制台或GUI方面的应用。
Java Applet没有main()方法,但是有init()和paint()等方法,由浏览器解释执行,主要用于在网页上显示动画等功能。对此本书只做简单介绍,因为Applet已基本不再被使用。
1Java Application应用程序开发
【例11】编写一个在屏幕上显示“Hello World !”字符界面的应用程序。
public class HelloApp{ // 定义公共类HelloApp
public static void main(String[ ] args){// 应用程序入口即main()方法
Systemoutprintln(”Hello World !”); // 输出Hello World !
}
}
例11是最简单的Java应用程序,它给出了Java应用程序的基本框架。
注意以下几点内容。
(1) 类是构成Java程序的主体,class是类的说明符号,类中包含了实现具体操作的方法。
(2) 使用“//”声明的部分是Java的注释,它有助于程序的阅读,在编译时不会被编译。
(3) 每个应用程序中必须包含主方法main(),主方法是程序的入口,读者可先记住声明格式,不要改变关键字顺序。
(4) Systemoutprintln()方法起到输出作用,直接输出括号内的内容。
(5) 读者在编写以上程序时要注意字母大小写,Java语言中严格区分大小写。
2Java Applet小应用程序开发
Applet应用程序是嵌入在HTML(Hypertext Markup Language,超文本标记语言)文件中的Java程序。它可以连同Web页面一起被下载到客户的浏览器中,并由实现了JVM的浏览器运行。编写Applet程序时,需要编写出相应的HTML文件,并在文件中加上调用Applet程序的标记。
【例12】编写在浏览器中显示“Hello World !”的Java Applet程序。
import javaappletApplet; // 打开Applet类所在的包applet
import javaawt.*; // 打开Graphics类所在的包awt
public class SimpleApplet extends Applet{// 创建继承Applet类的SimpleApplet
public void paint(Graphics g) { // 调用Applet类的paint()方法
gdrawString(”Hello World !”,50,50); // 绘制”Hello World !”
}
}
用于编写HTML文件的工具有很多,复杂的HTML文件可以用目前较为流行的可视化制作工具(如FrontPage、Dreamweaver)创建,简单的文件可以用文本编辑工具直接编写。本例使用的HTML文件的代码如下:
在上面的代码中,“”是调用SimpleAppletclass的标记。可以用Web浏览器或JDK提供的appletviewer运行Applet应用程序。
知识点六:Java语法规则
字符是组成Java程序的基本单位,Java语言源程序使用Unicode字符集。Unicode采用16位二进制数表示1个字符,可以表示65 535个字符。标准ASCII码采用8位二进制数表示1个字符,共有128个字符。如果要表示像汉字这样由双字节组成的字符,采用ASCII码是无法实现的。ASCII码对应Unicode的前128个字符。因此,采用Unicode能够比采用ASCII码表示更多的字符,这为在不同的语言环境下使用Java奠定了基础。
1Java程序注释
注释是用来对程序中的代码进行说明、帮助程序员理解程序代码的,还有利于对程序代码进行调试和修改。在系统对源代码编译时,编译器将忽略注释部分的内容。Java语言有
评论
还没有评论。