Java程序设计案例教程(第三版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-07-21 12:29:57

点击下载

作者:沈大林

出版社:中国铁道出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Java程序设计案例教程(第三版)

Java程序设计案例教程(第三版)试读:

版权信息

书名:Java程序设计案例教程(第三版)

作者: 沈大林

排版:中国铁道出版社

出版社:中国铁道出版社

出版时间:2017.05

ISBN:978-7-113-22981-8

本书由中国铁道出版社授权北京当当科文电子商务有限公司制作与发行。

— · 版权所有 侵权必究 · —内容简介

Java是一种功能强大的,具有简单、面向对象、分布式、可移植等性能的多线程动态计算机编程语言。同时,Java还是一种跨平台的程序设计语言,可以在各种类型的计算机和操作系统上运行。Java语言非常适合于企业网络和Internet环境,现已成为Internet中最受欢迎、最有影响的编程语言之一。本书使用JDK 8 Update 112作为开发工具来介绍Java语言。

本书共分为9章,主要介绍了Java编程基础知识、算法和流程控制语句、数组和方法、面向对象程序设计、图形用户界面设计与实现以及异常处理和多线程。同时,还配合知识的讲解介绍了70多个案例,提供了大量思考与练习题。全书以案例操作为主线,通过学习大量实用、经典的编程案例来介绍Java语言,使读者可以快速掌握并应用所学的Java语言编程知识。

本书适合作为中等职业学校计算机专业的教材,也可以作为高等职业院校非计算机专业的教材,还可以作为Java语言爱好者的自学用书。第三版前言

FOREWORD

Java语言以其独有的开放性、跨平台性和面向网络的交互性风靡全球,是目前最常用的计算机编程语言之一,也是主要的网络开发语言之一。Java具有面向对象、分布式和多线程等先进高级计算机语言的特点,同时它还因可移植、安全性能高和网络移动性等逐渐成为一种行业标准。

本书详细介绍使用Java语言进行编程的基本知识和方法。本书的特点是内容全面且易懂,以实例为主,全面介绍了用Java语言编程所需的各方面知识,内容包括Java编程基础知识、算法和流程控制语句、数组和方法、面向对象程序设计、图形用户界面设计与实现以及异常处理和多线程等。通过大量实例的讲解以及丰富的习题,初学者可以迅速而全面地掌握Java编程语言,编写出适合现代企业或个人需要的程序。

本书共分9章,介绍了70多个案例,提供了大量思考与练习题。第1章主要介绍如何安装Java语言开发工具,如何运行Java应用程序和Java小程序。第2章主要介绍Java语言编程的基础知识,包括输出数据的方法、数据类型、变量与常量以及面向对象基本概念和Java库类。第3章主要介绍运算符与表达式以及数据类型的转换。第4章主要介绍Java语言的分支语句,包括if语句、switch语句。第5章主要介绍了循环语句和跳转语句的使用,包括for语句、do…while语句和while…loop语句以及break、continue和return语句。第6章主要介绍数据结构的基础知识,包括一维数组和多维数组的创建与使用,数字排序和递归思想以及方法的意义和应用。第7章主要介绍如何在Java语言中实现面向对象程序设计、类的继承和多态以及与面向对象相关的接口、包和修饰符等知识。第8章介绍Java基本的图形用户界面的实现,包括窗口的显示、文字和图像的显示、创建容器、指定布局、事件处理以及图形用户界面中常用的组件等内容。第9章主要介绍Java语言异常处理机制和方法、线程的概念和多线程的应用。

本书在前两版基础上,增加了最新全国计算机等级考试二级Java考试大纲中要求的运算符和表达式、断言等内容,并更新了部分案例。

建议教师在使用本教材进行教学时,可以一边带学生做各章的案例(指导学生在计算机前按照书中案例的操作步骤进行操作),一边带学生学习各种相关知识和实用技术,将它们有机地结合在一起,以达到事半功倍的效果。采用这种方法学习的学生,掌握知识的速度快、学习效果好,可以提高灵活应用能力和创造能力。

本书由沈大林任主编,沈昕、肖柠朴、曾昊任副主编。参加本书编写工作的人员还有:王赪爱、王浩轩、魏雪英、胡野红、曲彭生、董鑫、杨旭、张伦、郝侠、李斌、刘桂玲、黄启宝、苏飞、王小兵、郑鹤、张磊、关山、赵亚辉、丰金兰、夏京等。

本书适应了社会、企业、人才和学校的需求,适合作为中等职业学校计算机专业的教材,也可以作为高等职业院校非计算机专业的教材或培训学校的培训教材,还可以作为Java语言爱好者的自学用书。

由于编者水平有限,加上编著、出版时间仓促,书中难免有疏漏和不妥之处,恳请广大读者批评指正。

编者2017年2月第一版前言

FOREWORD

Java语言是由美国SUN公司开发的一种功能强大的,具有简单、面向对象、分布式、可移植等性能的多线程动态计算机编程语言。同时,Java还是一种跨平台的程序设计语言,可以在各种类型的计算机和操作系统上运行。Java语言非常适合于企业网络和Internet环境,现在已成为Internet中最受欢迎、最有影响的编程语言之一。

本书使用Java 2 SDK l.4.2作为开发工具,对Java语言进行介绍,包括Java语言基础知识、面向对象编程、图形用户界面设计以及数据的输入输出等内容。

本书是“新世纪职业技术培训案例教程”系列丛书之一。全书共分为6章,讲解了37个实例,提供了100多道思考与练习题。全书以计算机实例操作为主线,采用真正的任务驱动方式,展现全新的教学方法。本书贯穿以实例带动知识点的学习,通过学习大量实用、经典的编程实例,来介绍Java语言,使读者可以快速掌握、应用所学的Java语言编程知识。每个实例均由实例效果、技术分析、程序解析、知识进阶和思考练习五部分组成。在按实例进行讲解时,充分注意知识的相对完整性和系统性。读者可以跟着本书的操作步骤去操作,从而完成应用实例的制作,还可以在实例制作中轻松地掌握Java语言程序的设计。本书由浅及深、由易到难、循序渐进、图文并茂,理论与实际制作相结合,可使读者在阅读学习时知其然还知其所以然,不但能够快速入门,而且可以达到较高的水平,有利于教学和自学,教师可以得心应手地使用它进行教学,学生也可以自学。

本书由沈大林主编,沈昕、肖柠朴编著。参加本书编写工作的主要人员有:王浩轩、曲彭生、董鑫、杨旭、张伦、李斌、郝侠、李稚平、黄启宝、胡玉莲、郭鸿博、李俊、朱海跃、张磊、郭华、王英、戴淑英、王钢、刘桂玲、靳轲、章国显、刘锋、王连、王小兵、王全、谭汉英、丰金兰、苏飞、夏京、隋金声、杨卫东、潘雪蓉、袁柳、郑鹤、赵亚辉、关山、胡野红等,参加其他编写工作的还有新昕教学工作室的人员。

本书可以作为中等计算机职业技术学校的教材,也可以作为初、中级培训班的教材,还适于作为初学者的自学用书。

由于水平有限,加上编著、出版时间仓促,书中难免有偏漏和不妥之处,恳请广大读者批评指正。

编者2004年9月第二版前言

FOREWORD

Java语言以其独有的开放性、跨平台性和面向网络的交互性风靡全球,是目前最常用的计算机编程语言,也是主要的网络开发语言之一。Java具有面向对象、分布式和多线程等先进高级计算机语言的特点,同时它还因可移植、安全性能高和网络移动性等逐渐成为一种行业标准。

本书详细地介绍使用Java语言进行编程的基本知识和方法。本书的特点是内容全面且易懂,以实例为主,全面介绍了用Java语言编程所需的各方面知识,内容包括Java编程基础知识、算法和流程控制语句、数组和方法、面向对象程序设计、图形用户界面设计与实现以及异常处理和多线程等。通过大量实例的讲解以及丰富的习题,初学者可以迅速而全面地掌握Java编程语言,编写出适合现代企业或个人需要的程序。

本书共分7章,介绍了58个案例,提供了大量思考与练习题。第1章主要介绍如何安装Java语言开发工具,如何使用DOS系统运行Java应用程序和Java小程序。第2章主要介绍Java语言编程的基础知识,包括输出数据的方法、数据类型、变量与常量、运算符与表达式以及面向对象基本概念和Java库类。第3章主要介绍Java语言的流程控制语句,包括if语句、switch语句、for语句、do…while语句和while…loop语句以及break、continue和return语句。第4章主要介绍数据结构的基础知识,一维数组和多维数组的创建与使用,数字排序和递归思想以及方法的意义和应用。第5章主要介绍如何在Java语言中实现面向对象程序设计、类的继承和多态以及与面向对象相关的接口、包和修饰符等知识。第6章介绍Java基本的图形编程知识,包括窗口的显示、文字和图像的显示、创建容器、指定布局、事件处理以及图形用户界面中常用的组件等内容。第7章主要介绍Java语言异常处理机制和方法、线程的概念和多线程的应用。

建议教师在使用该教材进行教学时,可以一边带学生做各章的案例(指导学生在计算机前按照书中案例的操作步骤进行操作),一边学习各种相关知识和实用技术,将它们有机地结合在一起,以达到事半功倍的效果。采用这种方法学习的学生,掌握知识的速度快、学习效果好,可以提高灵活应用能力和创造能力。

本书由沈大林主编,沈昕、肖柠朴、曾昊等编著。参加本书编写工作的主要人员还有:王赪爱、王浩轩、魏雪英、胡野红、曲彭生、董鑫、杨旭、张伦、李稚平、郝侠、李斌、朱海跃、刘桂玲、靳轲、黄启宝、王英、章国显、戴淑英、李俊、王全、苏飞、王小兵、谭汉英、郑鹤、张磊、关山、赵亚辉、丰金兰、夏京等。

本书适应了社会、企业、人才和学校的需求,适合作为中等职业学校计算机专业的教材,也可以作为高等职业院校非计算机专业的教材或培训学校的培训教材,还可以作为Java语言爱好者的自学用书。

由于编者水平有限,加上编著、出版时间仓促,书中难免有疏漏和不妥之处,恳请广大读者批评指正。

编者2009年2月第1章Java语言概论

Java语言是一种目前最常用的计算机程序设计语言,广泛地应用于个人和企业级网络应用开发,以及移动应用的开发。对于初次接触计算机编程语言的人来说,Java语言简单易学,不需要长时间的培训就可以编写出适合个人或企业需要的程序。

本章主要介绍Java语言的原理、开发工具和安装方法,以及与Java语言相关的DOS命令和HTML语言,并通过案例介绍Java Application和Java Applet的运行方法。1.1Java语言简介

Java是Sun公司(现已被Oracle公司收购)开发的、适用于Internet的面向对象的程序设计语言,是主要的网络开发语言之一。Java具有与平台无关、面向对象、多线程、稳定、安全、可靠和易学等特点,比较适合于初次接触计算机编程语言的人学习。1.1.1 Java语言简史

Java语言是一种面向对象编程的计算机高级语言。Java语言的发展得益于它与WWW的成功结合。Java语言在被定位到WWW上后,才真正焕发了生机,在极短的时间内迅速地流行起来。

Java语言是由美国Sun公司的“绿色工程”(green project)小组于1991年开发研制出来的。最初它是一种管理小型家用电子产品的分布式代码管理系统,而且那时候它的名字也不是Java,而是橡树(Oak)。但是,由于当时市场和语言本身的问题,整个计划并没有达到预期的目标。眼看Oak就要夭折时,因特网(Internet)的迅速发展拯救了它。

1994年,“绿色工程”小组的开发方向已经转向Internet。他们用Oak编写的一系列网络应用程序让Sun公司看到了Oak的再开发前景,于是决定给Oak起一个更响亮的名字——Java。Java原意爪哇,为著名的咖啡原产地。“绿色工程”小组希望每一个使用Java的人都有一种轻松、惬意的感觉,就像是在品尝香浓美味的咖啡。

1995年5月,Sun公司正式发布了Java技术。同时,Netscape通信公司技术副总裁宣布Netscape公司将在其产品Web浏览器中支持Java。随后,一些著名的计算机公司,如IBM、Microsoft、Novell、SGI、Oracle和Borland等,都陆续宣布将支持Java,并购买Java的使用许可。Netscape和Microsoft两大公司先后公布了支持Java语言的浏览器。

Java正式发布以后,得到了全球计算机界的高度重视和广泛好评,美国著名的计算机杂志PC Magazine将Java评为1995年十大优秀科技产品。Microsoft公司总裁比尔·盖茨在经过一段时间的观察后,不无感慨地说:“Java是长时间以来最卓越的程序设计语言。”并由此调整了Microsoft的软件产品开发战略。随着Java语言在互联网和多媒体上的发展,Sun公司推出了一种用Java编写的、可嵌入浏览器内部的小程序Applet,使得Web页面上出现了更丰富多彩的图像和动画。

JDK是使用Java编程语言构建应用、小程序和组件的开发环境。1996年,Sun公司正式推出JDK 1.0,并在不断改进和升级后,发布了JDK 1.1、JDK 1.1.5等版本。Sun公司在1999年将Java升级为1.2版,1.2版倾注了Sun公司大量的心血,为使其更加完善,1.2版加入了许多新的设计。鉴于1.2版与之前版本的巨大差异,Sun公司将1.2版以及其后的版本命名为Java2。

随着Java版本的升级,Java程序运行更快,多媒体功能也更强,同时还扩充了对网络的支持和对XML的处理。另外,随着Java语言技术的不断发展,Sun公司根据市场需求进一步将Java细分为以下3个版本:针对企业级e-Business架构和Web服务开发与应用的平台J2EE(Java 2 Enterprise Edition);针对普通PC应用的Java开发平台J2SE(Java 2 Standard Edition);针对嵌入式设备及消费类电器(如手机、智能卡等)的开发平台J2ME(Java 2 Micro Edition)。

2005年6月,在Java One大会上,Sun公司发布了Java SE6,并取消了Java各种版本中的数字2,如J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME。

2009年,Oracle公司宣布收购Sun。到目前为止,JDK的最新版本为JDK 8。1.1.2 Java语言实现机制

Java语言是一种高级语言,因此不能够被计算机的CPU直接接收,必须通过一个功能强大的翻译器将Java高级语言翻译成计算机CPU可以接收的机器语言。

1.翻译器

翻译器有两种:一种是编译器(compiler),另一种是解释器(interpreter)。编译器和解释器的作用都是将高级语言写好的程序翻译成计算机CPU能够接收的机器语言,不同的只是翻译的方式不同。编译器是把程序全部翻译成机器语言后,CPU再运行翻译好的全部机器语言;解释器是在程序运行时每翻译一句高级语言就传递给CPU,CPU立即运行这部分翻译好的机器语言。显然,用编译器程序运行速度较快,但翻译时间较长;用解释器翻译时间短,但运行速度较慢。

2.Java虚拟机

Java语言并没有用编译器直接将程序翻译成机器语言,而是先翻译成字节码(byte code),这样编译的时间大大减少。字节码类似于机器指令,但又不是为某个特定的机器定义的,因此,字节码格式的程序是不能被计算机的CPU直接接收的,一般不能在某个具体的平台上执行,而需要由Java运行系统中的解释器来解释执行。这个解释器也叫Java虚拟机(Java Virtual Machine,JVM)。

因此,Java程序的执行需要经过两个步骤:第一步由编译器将Java程序编译为字节码;第二步由Java虚拟机解释执行字节码,将字节码翻译成机器语言。第二步是在程序运行过程中进行的,但是时间远比一般的编译器要快。而且Java虚拟机是针对每一台计算机的,也就是说,当同一个程序在具有不同类型操作系统的计算机上运行时,Java编译器先将程序翻译成同样的字节码文件,Java虚拟机再根据所在计算机操作系统的不同,解释成相应的机器语言。Java语言的翻译方法如图1-1-1所示。JVM运行的代码存储在.class文件中,每个文件最多包含一个public类的代码。

图1-1-1 Java语言工作原理示意图

从本质上讲Java语言是解释型语言,但Java通过预先将源代码编译成接近于机器指令的字节码,有效地克服了传统解释型语言的性能瓶颈,同时又保持了解释型语言的可移植性特点。1.1.3 Java语言的特点

Java语言是一种完全面向对象的程序设计语言,它是解释执行的,能跨平台使用。Java具有高性能和高度的安全性,支持多线程,具有内存垃圾自动收集机制。随着学习的深入,读者会逐渐对Java的术语有较深入的理解。

1.面向对象

在现实世界中,任何实体都可以看作一个对象,对象具有状态和行为两大特征。在Java语言中,没有采用传统的、以过程为中心的编程方法,而是采用以对象为中心,通过对象之间的调用来解决问题的编程方法。

在Java语言中,除了数值、布尔逻辑和字符三个基本数据类型外,其他类型都是对象。Java的程序代码以类的形式组织,由类来定义对象的各种状态和行为,如果不创建新类就无法创建程序。Java程序在运行时必须先创建一个类的实例,然后才可以提交运行。

Java支持继承特性。Java的类可以从其他类中继承行为,但Java只支持类的单重继承,即每个类只能从一个类中继承,这可以避免因支持多重继承而带来的混乱和语言的繁杂。Java支持接口,接口允许程序员定义方法但又不立即实现。一个类可以实现多个接口,利用接口可以得到多重继承的许多优点而又没有多重继承的问题。

Java摒弃了C++中的非面向对象特性(如结构和函数调用),也不再支持全局变量。

2.结构简单化

Java语言的程序构成及语言风格等与C语言和C++语言非常类似,但是Java语言摒弃了C语言和C++语言的复杂、不安全特性以及一些不是绝对必要的功能。例如,指针的操作和内存的管理、头文件、预处理器、运算符重载和隐式的类型转换等。

此外,Java语言提供了种类丰富、功能强大的类库,提高了编程效率,通过实现自动垃圾收集大大简化了内存管理的工作。因此,Java比C++更容易学习,其程序的可读性也更强。

在Java语言系统中添加了自动垃圾收集功能,能够不断对内存进行扫描,自动释放不再使用的内存块,这使程序员不需要关心内存管理问题,使Java程序的编写变得简单,同时,还减少了程序中因内存管理问题而产生的错误。

3.与平台无关

使用Java语言编写的应用程序不需要进行任何修改,就可以在不同的软、硬件平台上运行。这主要是由编译器将Java程序编译为与机器无关的字节码和通过Java虚拟器字节码翻译成机器语言来实现的。

Java为了做到与平台无关,还制定了完全统一的语言文本,如Java的基本数据类型不会随支持Java的平台的不同而变化,一个整型总是32位,一个长整型总是64位。而C和C++程序设计语言就无法满足这一点。另外,Java还提供了由用于访问底层操作系统功能的类所组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。

4.支持多线程

多线程是指在一个程序中可以同时执行多个任务。线程也称轻量进程,是一个传统大进程里分出来的、独立的、可并发执行的单位。OS/2、Windows NT、Windows XP/7/8/10等操作系统都支持并发,这意味这些操作系统都能够同时进行多项任务的并发处理。Java程序可以有多个执行线程。例如,可以让一个线程进行复杂的计算,而让另一个线程用来进行用户交互,这样用户可以在不中断计算线程的前提下与系统进行交互。

C语言和C++采用单线程体系结构,而Java语言支持多线程技术。

5.安全高效

因为Java最初的设计目的是应用于电子类家庭消费产品,所以要求有较高的可靠性。现今的Java语言主要用于网络应用程序的开发,因此对安全性有很高的要求。如果没有安全保证,用户运行从网络下载的Java语言应用程序是十分危险的。Java语言通过使用编译器和解释器,在很大程度上避免了病毒程序的产生和网络程序对本地系统的破坏。

Java语言提供了异常处理机制,有效地避免了因程序编写错误而导致的死机现象。这种异常处理机制是目前操作系统的错误处理方法,Java将异常处理机制引入语言中,使程序员能够用统一的方法来处理各种错误。

Java语言提供了内存保护机制,使得Java程序只能修改被允许部分的内存值。对于传统的程序,它们可以访问计算机中所有内存的值,这会引起一系列问题。

此外,Java语言还取消了指针操作,从而消除了复写内存单元或破坏有用数据的可能性。Java语言具有真正的数组和串的概念,即解释器能够检查数组或串的索引值,以防越界;而且不能将任意整数通过强制类型转换的方法转换成对某一对象的引用。

6.动态性

Java语言不但提供了适合于Internet环境的对象连接机制、程序组织方式和名字空间,还通过提供支持TCP/IP、WWW等的网络包,使用户能够方便地访问其他URL上的资源。思考与练习1-1

1.填空题(1)Java语言____是公司开发的,该公司于2009年被____公司收购。(2)Java语言是面向对象的程序设计语言,其特点是、____、____、____、____和____等。

2.问答题(1)翻译器有两种:一种是编译器(compiler),另一种是解释器(interpreter)。它们的相同之处是什么?不同之处是什么?(2)简单描述Java语言翻译器的工作流程。1.2Java SDK 8的下载和安装

Java SDK的全称是Java SE Development Kit,也称JDK。它是Sun公司编写的Java语言开发工具。它没有用户界面,只能在DOS命令窗口下运行。其操作简单,初学者只要掌握几条常用的DOS命令就可以轻松地运行Java程序。2014年,Oracle公司发布了Java SDK 8。

本节介绍Java SDK 8的下载安装过程、Bin文件夹的内容及作用和设置环境变量的意义及方法。1.2.1 下载并安装Java SDK 8

本书采用SDK 8 Update 112版本。

1.下载Java SDK 8

Java SDK 8可以从Oracle公司网站免费下载,操作步骤如下:(1)打开浏览器,在“地址”栏中输入www.oracle.com/technetwork/cn/java,进入Oracle公司Java技术支持页面,如图1-2-1所示。

图1-2-1 Oracle公司Java技术支持页面(2)在页面右侧New Downloads栏中,单击Java SE 8 Update 111/112链接进入JDK的下载页面,如图1-2-2所示。

图1-2-2 Java SDK 8下载页面1(3)在图1-2-2中单击Java DOWNLOAD大图标,进入如图1-2-3所示的下载页面。

图1-2-3 Java SDK 8下载页面2(4)在Java SE Development Kit 8u112栏中,单击选中Accept License Agreement单选按钮,表示接受许可协议。然后根据用户所使用的操作系统平台选择相应的下载选项。本书采用Windows x64操作系统,单击jdk-8u112-windows-x64.exe链接,开始下载JDK 8 Update 112。

随着Oracle公司对Java语言版本的不断升级,下载JDK的网页内容会有所不同,读者可根据网页的具体提示下载最新的版本。

2.安装Java SDK 8

下载完成后,即可安装Java SDK 8,其操作步骤如下:(1)在保存JDK软件的文件夹中双击jdk-8u112-windows-x64.exe文件图标,运行该文件,开始安装Java SDK 8。(2)稍等片刻,弹出“Java SE Development Kit 8 Update 112(64-bit)–安装程序”对话框。单击“下一步”按钮,弹出“Java SE Development Kit 8 Update 112(64-bit)–定制安装”对话框,如图1-2-4所示。在该对话框中可以设定需要安装的功能和安装软件的路径。(3)对话框中的开发工具、源代码和公共JRE选项是Java最基本的三个功能。

开发工具功能:是Java的核心,包括开发Java程序必需的库类和工具,以及一个专用的Java运行环境JRE。

源代码功能:包含了Java所有核心库类的源代码。

公共JRE功能:提供了独立的Java运行环境JRE,任何应用程序均可以使用该JRE。

如果要重新设定安装的功能,可以单击选项名前的图标,调出其下拉列表,选择是否安装,建议安装所有Java功能。如果要重新设定安装的位置,可以单击“更改”按钮,在弹出的对话框中选择文件的安装路径。读者可以在计算机硬盘的任何地方安装JDK,本书使用默认路径。

图1-2-4 “Java SE Development Kit 8 Update 112(64-bit)–定制安装”对话框(4)单击“下一步”按钮,开始安装JDK。稍等一段时间,安装完成后,系统自动弹出“Java SE Development Kit 8 Update 112(64-bit)–完成”对话框。单击“后续步骤”按钮可以打开网页了解更多Java信息。单击“关闭”按钮,关闭对话框,安装完成。1.2.2 Bin文件夹

安装好Java SDK 8后,会在安装目录下看到一些文件夹和文件。例如,include文件夹存放Java标准类的源代码,demo文件夹存放演示程序代码,lib文件夹存放JDK工具命令的实际执行程序,src.zip压缩文件存放的是Java所有核心类库的源代码。打开安装路径下的bin文件夹,其中有50多个以exe为扩展名的文件,它们都是Java语言的操作命令,都是可以在DOS环境下执行的文件。下面对部分命令进行简要介绍。

1.基本命令

基本命令包括javac、java、javadoc、appletviewer、jar、jdb、javah、javap和extcheck。(1)javac:是Java语言的编译器。在DOS环境的“命令提示符”窗口中输入javac,然后输入含有Java源程序的文件名,即可以编译该源程序,生成相应的字节码文件。(2)java:是Java语言的解释器。在DOS环境的“命令提示符”窗口中输入java,然后输入行编译好的字节码文件名,即可以运行程序,输出结果。(3)javadoc:用于生成Java API文档。解析Java源文件中类的声明和文档注释,并产生相应的HTML格式的文档,描述公有类、保护类、内部类、接口、构造方法、方法和成员变量等。(4)appletviewer:是Java Applet的浏览器,可以使Applet脱离Web浏览器环境运行和调试。在DOS环境的“命令提示符”窗口中输入appletviewer,再输入含有字节码文件的HTML程序名,即可以运行编译好的Applet程序。(5)jar:是Java类文件归档命令。jar命令可将多个文件合并为一个JAR归档文件,是多用途的存档及压缩工具。它基于ZIP和ZLIB压缩格式。jar命令的主要目的是便于将Applet或者Application打包成单个归档文件。(6)jdb:Javah程序的调试器。(7)javah:从Java类中调用C++程序代码。(8)Javap:Java类文件解析器,用于解析类文件。如果没有使用选项,javap将输出类的public域和方法。(9)extcheck:检测目标JAR文件与当前已安装的扩展(Extensions)之间的标题和版本是否冲突。

在本书中,常使用的是javac、java和appletviewer命令。它们是运行程序的主要工具,在以后的章节中将通过案例具体介绍它们的使用方法。

2.RMI命令

RMI(Remote Method Invocation)命令是远程方法调用命令,包括rmic、rmiregistry、rmid和serialver。(1)rmic:为远程对象生成stub和skeleton。(2)rmiregistry:在当前主机的指定端口上启动远程对象注册服务程序。(3)rmid:激活系统守候进程,以便能够在Java虚拟机上注册和激活对象。(4)serialver:返回serialVersionUID。

3.国际化命令

国际化命令只包含一个native2ascii命令。该命令将含有本地编码字符(既非Latin-1又非Unicode字符)的文件转换为Unicode编码字符的文件。

4.安全控制命令

安全控制命令包括keytool、jarsigner、policytool、kinit、klist和ktab。(1)keytool:管理密钥库和证书。(2)jarsigner:为Java归档JAR文件产生签名,并可校验已签名的JAR文件的签名。(3)policytool:管理策略文件的图形化工具。(4)kinit:获得Kerberos v5 tickets的工具,相当于Solaris操作系统中相类似的工具kinit。(5)klist:列表显示证书缓存区和密钥表中的项,相当于Solaris操作系统中相类似的工具klist。(6)ktab:帮助用户管理密钥表的工具,相当于Solaris操作系统中相类似的工具ktab。

5.Java IDL和RMI-IIOP命令

这类命令帮助用户建立使用OMG的IDL和CORBA/IIOP标准的应用程序,包括tnameserv、idlj、orbd和servertool等命令。(1)tnameserv:访问CORBA命令服务。(2)idlj:将OMG IDL定义的接口文件翻译为.java文件,使Java语言编写的程序能够使用CORBA功能。(3)orbd:支持client端透明地定位和激活CORBA环境中的永久服务对象。(4)servertool:使应用程序员可以注册、撤销注册、启动和停止一个服务对象。1.2.3 设置环境变量

由于JDK的编译和运行基本上都是在DOS环境下进行,因此,为了能在任何提示符下都可以方便地直接使用bin文件夹中的可执行文件和Java类库,需要对系统环境变量PATH进行更新。更新环境变量PATH后,用户不需要再输入Bin文件夹中可执行文件的完整路径来运行该文件,只需要直接输入可执行文件的文件名。例如,如果没有修改环境变量PATH,则用户需要输入C:\Program Files\Java\jdk1.8.0_112\bin\javac myfirst.java来编译Java源程序myfirst.java;更新系统环境变量后,用户只需要输入javac myfirst.java命令就可以编译Java源程序myfirst.java。

下面以Windows 10计算机操作系统为例,介绍设置的方法。(1)单击“开始”→“控制面板”→“系统和安全”→“系统”菜单命令,弹出“系统”界面。在界面的左侧单击“高级系统设置”链接,弹出“系统属性”对话框,选择“高级”选项卡,如图1-2-5所示。

图1-2-5 “系统属性”对话框(2)在“高级”选项卡中,单击“环境变量”按钮,弹出“环境变量”对话框,如图1-2-6所示。此时,可以设置用户(此处为Gracie)的环境变量,也可以设置系统的环境变量。如果设置用户的环境变量,则只能该用户使用,其他用户不可以使用。如果设置系统的环境变量,则此计算机的每个用户均可以使用。这里设置用户环境变量,设置系统的环境变量与此完全相同。

图1-2-6 “环境变量”对话框(3)单击“Gracie的用户变量”栏下方的“新建”按钮,弹出“新建用户变量”对话框,在“变量名”文本框中输入新建的变量“JAVA_HOME”,在“变量值”文本框中输入“C:\Program Files\Java\jdk1.8.0_112”,如图1-2-7所示。JAVA_HOME指向的是JDK的安装路径,在这路径下能够找到bin、lib等目录。(4)单击“确定”按钮返回“环境变量”对话框,此时“Gracie的用户变量”栏中创建了JAVA_HOME变量。(5)双击“Gracie的用户变量”栏中的Path变量,弹出“编辑环境变量”对话框。在对话框中,单击“新建”按钮,输入“%JAVA_HOME%\bin”,再次单击“新建”按钮,输入“%JAVA_HOME%\jre\bin”,如图1-2-8所示。%JAVA_HOME%表示引用JAVA_HOME环境变量的值。

图1-2-7 “新建用户变量”对话框

图1-2-8 “编辑环境变量”对话框(6)单击“确定”按钮,返回“环境变量”对话框。单击“Gracie的用户变量”栏下方的“新建”按钮,弹出“新建用户变量”对话框,在“变量名”文本框中输入新建的变量“CLASSPATH”,在“变量值”文本框中输入“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”,如图1-2-9所示。

图1-2-9 “编辑用户变量”对话框(7)依次单击“确定”按钮,保存设置。设置好PATH变量后,就可以进入DOS环境了。在Windows 2000或以上版本中,可以单击“开始”→“所有程序”→“附件”→“命令提示符”菜单命令;在Windows 10中,单击“开始”按钮,然后在搜索框中输入cmd。调出DOS窗口后,在提示符后面输入javac命令,按【Enter】键后,如果显示的内容与图1-2-10所示一样,则表示JDK安装成功、系统环境变量被更新。如果显示的内容与图1-2-10所示不同,则需要重新安装或系统环境变量未被更新。

图1-2-10 执行javac命令的结果思考与练习1-2

1.填空题(1)____文件夹中有50多个以exe为扩展名的文件,它们都是Java语言的操作命令,都是可以在DOS环境下执行的文件。(2)____命令是Java语言的编译器;____命令是Java语言的解释器;____命令是Java Applet的浏览器。(3)____命令能为远程对象生成stub和skeleton。(4)____命令是类文件解析器。(5)____安全控制命令可以管理密钥库和证书。

2.问答题(1)更新环境变量PATH的好处是什么?(2)在Windows XP操作系统下更新环境变量PATH的步骤是什么?1.3Java语言程序构成

Java源程序包括源代码(.java文件)、由编译器生成的类(.class)文件、由归档工具jar生成的.jar文件和对象状态序列化.ser文件。由于只有源代码文件需要用户编写,所以这里只讨论源代码的构成。1.3.1 Java源代码的构成

Java源代码主要是由package语句、import语句、类、方法和语句等5个部分构成的。

1.package语句

package语句用来定义该程序所属的包,包相当于Windows系统中的文件夹。该语句必须位于整个程序的最前面,并且每个程序只允许使用一条package语句。如果忽略该语句,则程序属于默认包。关于包的具体概念和作用将在后面的章节中详细介绍。

2.import语句

import语句用来导入其他包中的类,以便于在程序中使用。该语句必须位于类定义之前,并且可以多次使用,导入多个类。例如,某程序中如果具有import java.awt.*;语句和import java.applet.*;语句,则其作用是分别导入java.awt和java.applet中所有的包,使得该程序可以应用这些包中所定义的类,符号“*”表示所有的类。

3.类

类(class)是整个源代码的核心部分,也是编写程序的地方。每个类的内容是用一对花括号括起来的。每个类都有不同的名字,但是如果有被public修饰的类则类名必须与程序的文件名相同,public表示此类是公开的,其他程序也可以调用。也就是说,一个源程序文件中可以没有或者最多有一个public类,且其类名要与文件名一致,其他类的个数不限。

类的声明格式为:

其中,关键字class用来声明类,其后是类的名称。

4.方法

每个Java应用程序都要有且只有一个main()方法,不论main()方法处于程序的哪个位置,它都是程序运行的起始点。main()方法所在的类为程序的主类。main()方法的格式永远都是:

一个类中可以有多个方法,每个方法都有不同的名字,其声明格式为:

在方法的内部不可以再声明其他方法,但是可以调用其他方法。

5.语句

类或方法中的语句体是由一条条以分号结尾的语句组成的。语句是Java程序的基本单位之一,是程序具体操作的内容。一般来说,一条语句占据一行,以分号结尾。语句有赋值语句、调用方法语句和对象定义语句等多种形式,今后将一一介绍。

此外,Java语言是严格区分大小写的语言,所以在书写语句时,一定要注意大小写不能混淆。例如,System.out.println("Hello World!");语句,不可以写成system.out.println("Hello World");或者System.out.Println("Hello World");等。因为这在Java编译器看来是完全不同的语句。1.3.2 Java源代码的排版规则

在Java语言编译器编译源程序时,其忽略所有空白空间和空白行,只对程序进行编译。也就是说,无论程序的布局如何,只要内容不变,则其字节码文件是相同的,运行结果也是一样的。但是,一个美观大方、层次分明的代码排版可以帮助编程人员阅读和理解程序的含义和作用,从而降低编程的复杂性、提高编程的效率。下面列出一些人们约定俗成的规则:(1)在Java程序中,经常要使用花括号{}将一组相关语句括起来。例如,类中的所有语句、方法中的所有语句以及某些语句体等。一般规定一对花括号的左括号应紧跟它所在的语句的后面,右括号总是各自独立占用一行,并且与左括号所在语句行的第一个字符垂直对齐。(2)在一对花括号中,所有语句的起始位置相对于该对花括号的位置向右缩进一个统一的单位。本书采用缩进2个英文字符的位置。例如,下面两种格式虽然在语法上都是正确的,但第一种格式是推荐采用的,第二种格式不推荐采用。

格式一:

格式二:(3)一般来说,一条语句占据一行。如果语句较短,可以在一行中显示多条语句,但是每条语句的分号不可以省略。(4)左括号和后一个字符之间不应该出现空格,同样的,右括号和前一个字符之间也不应该出现空格。例如,下面第一条语句的格式推荐采用,第二条语句的格式不推荐采用。1.3.3 Java Application和Java Applet

Java程序可以分为两类:一类是Java Application,又称Java应用程序;另一类是Java Applet,又称Java小程序。这两类程序的代码都是由5部分组成的。

1.Java应用程序

Java应用程序是完整的程序,不需要其他语言的帮助,就可以独立运行。其编译运行的操作方法如下:(1)用“记事本”或者其他无格式的文本编辑软件编写源程序。不要用Word这类带格式的文本编辑软件,因为它隐藏了许多Java解释器不能识别的格式信息。编写好程序后,保存源程序。文件名与源程序中类(class)的名字必须一致,扩展名必须为java。(2)在DOS命令环境下,输入命令“javac文件名.java”,按【Enter】键,计算机将自动建立一个和源程序名字相同、扩展名为.class的文件,此文件用来保存源程序的Java字节码。(3)输入命令“java文件名”,按【Enter】键,运行编译好的字节码文件,输出程序运行结果。

也可以用类似于NetBeans的Java集成开发工具来获得.class文件,并执行解释输出结果。本书采用在DOS命令环境下编译程序和输出结果。

注意: Java语言是区分大小写的,所以输入的文件名必须与要执行的文件名完全一致。

2.Java小程序

Java小程序是嵌在HTML编写的Web页面中的非独立程序,由Web浏览器内包含的Java编译器来编译运行。Java Applet程序中没有main()方法,也就是说没有程序运行的起始点。因此需要HTML语言的帮助来运行程序输出结果。

编译运行的操作方法如下:(1)用“记事本”或者其他无格式文本编辑软件编写源程序。编写好程序后,保存源程序。文件名与源程序中类(class)的名字必须一致,扩展名必须为java。(2)用“记事本”或者其他无格式文本编辑软件编写含有该Java小程序的HTML语言程序,并和Java源程序保存在同一个文件夹下。文件的名称可以任意设置,但是扩展名必须为html。(3)在DOS命令环境下,输入命令“javac文件名.java”,按【Enter】键,计算机将自动建立一个和源程序名字相同、扩展名为class的文件,此文件用来保存源程序的Java字节码。(4)输入命令“appletviewer文件名.html”,按【Enter】键,运行含有字节码文件的HTML文件,输出程序运行结果。思考与练习1-3

1.填空题(1)____语句用来定义该程序所属的包,该语句必须位于整个程序的____,并且每个程序只允许使用____条该语句。(2)每个Java应用程序都要有且只有一个____方法,不论该方法处于程序的哪个位置,它都是程序运行的____。(3)Java源文件中最多只能有一个____类,其他类的个数不限。(4)Java源程序是由____、____、____、____和____组成的。(5)Java程序可以分为两类,一类是____,又称____;另一类是____,又____称。

2.问答题(1)编译和运行Java应用程序的方法是什么?(2)编译和运行Java小程序的方法是什么?1.4案例演示

本节将通过两个案例具体介绍Java Application和Java Applet的编译运行方法。1.4.1 我的第一个Java应用程序

编写一个Java应用程序MyFirstApp,程序运行后,在“命令提示符”窗口中显示“Hello World!”和“这是我的第一个Java应用程序”两行文字,操作步骤如下:(1)单击“开始”→“所有程序”→“附件”→“记事本”菜单命令,打开“记事本”软件。(2)在“记事本”中,输入如下程序代码。(3)代码中的System.out.println("Hello World!");和System.out.println("这是我的第一个Java应用程序");语句是打印语句,其作用是输出显示小括号内两个双引号之间的内容。(4)单击“文件”→“保存”菜单命令,弹出“另存为”对话框,如图1-4-1所示。在对话框上方的下拉列表框中,选择保存的路径。本书均保存在D盘的“源代码”文件夹中。在“文件名”文本框中,输入MyFirstApp.java作为文件的全名。其中,文件名必须与程序中public class后边的一串字母MyFirstApp保持完全一致,包括大小写。文件的扩展名必须为java。文件名和扩展名之间用小数点符号“.”连接,如图1-4-1所示。单击“保存”按钮将程序代码保存在文件夹中。(5)单击“开始”→“所有程序”→“附件”→“命令提示符”菜单命令,进入DOS系统的用户界面(即“命令提示符”窗口),如图1-4-2所示(各个计算机所显示的DOS系统默认路径因设置不同而略有不同)。

图1-4-1 “另存为”对话框

图1-4-2 “命令提示符”窗口(6)在“命令提示符”窗口中,使用DOS命令将当前路径设置为文件MyFirstApp所在的目录,也就是D盘“源代码”文件夹。首先输入d:命令按【Enter】键,将当前提示符变成D:\>。再输入“cd源程序”命令按【Enter】键,将当前提示符变成“D:\源程序>”,如图1-4-3所示。(7)输入javac MyFirstApp.java命令,即可开始编译源程序MyFirstApp.java。稍等片刻,计算机就可以完成编译,如图1-4-4所示。编译完成后,系统不会给出任何提示,只是显示出新的命令行。注意,javac命令中的源程序名必须包括扩展名java。(8)使用dir命令显示目录中的文件时,可以看到产生了一个与MyFirstApp文件同名的、扩展名为class的文件,该文件所含有的内容是MyFirstApp程序的字节码。(9)输入java MyFirstApp命令,运行字节码文件,输出程序的运行结果,如图1-4-4所示。注意,java命令中的字节码文件名不能含有扩展名。

图1-4-3 改变路径

图1-4-4 程序MyFirstApp的运行结果

如果对源代码进行了修改,则需要再次保存文件,并且重新执行步骤(7)和(9)中的两个命令,更新字节码文件内容,才可以将修改后的结果显示出来。否则,Java将运行原有的字节码文件,显示原有运行结果。1.4.2 HTML语言

HTML(HyperText Markup Language,超文本置标语言)语言不是一种编程语言,而是一种描述网页内容结构的标记语言。它与操作系统平台的选择无关,只要有浏览器就可以运行HTML程序,显示网页内容。1990年HTML语言首次用于制作网页,此后几乎所有的网页都是由HTML语言或以其他语言(如Java语言)镶嵌在HTML语言中编写的。

1.HTML语言结构

HTML文件是标准的ASCII文件,它看起来像是加入了许多被称为链接签(tag)的特殊字符串的普通文本文件。从结构上讲,HTML文件由元素(element)组成,组成HTML文件的元素有许多种,用于组织文件的内容和指导文件的输出格式。绝大多数元素是“容器”,即它们有起始标记和结尾标记。元素的起始标记叫做起始链接签(start tag),元素的结束标记叫做结尾链接签(end tag),在起始链接签和结尾链接签中的部分是元素体。每一个元素都有名称和可选择的属性,元素的名称和属性都在起始链接签内标明。

一个元素的元素体中可以有其他元素。“属性名”“=”“属性值”合起来构成一个完整的属性,一个元素可以有多个属性,各个属性间用空格分隔。

需要说明的是,HTML是一门发展很快的语言,早期的HTML文件并没有如此严格的结构,因而现在流行的浏览器为了保持对早期HTML文件的兼容性,也支持不按上述结构编写的HTML文件。另外,各种浏览器对HTML元素及其属性的解释也不完全一样。一般来讲,HTML的元素有下列三种表示方法:

第三种写法仅用于一些特殊的元素,例如,分段元素P,它仅仅通知WWW浏览器在此处分段,因而不需要界定作用范围,所以它没有结尾链接签。

注意: HTML文档中的起始链接签“<”和元素名称(如BODY)之间不能有空格。

2.HTML语言的语法

HTML语言的语法比较简单,所有的标记符都是用尖括号括起来的。例如,是HTML开始的标记符号。绝大多数标记符都是以开始标记符和结束标记符成对出现的。开始标记符和相应的结束标记符之间的内容是该标记符所影响的范围。结束标记符是在开始标记符前边加入一个反斜线。例如,欢迎进入Java语言天地!,表示网页的显示名称为“欢迎进入Java语言天地!”。当然也有例外,换行标记符
是一个单一标记符。虽然HTML的标记符不区分大小写,但是通常都是使用大写字母,这有利于HTML文档的维护。

HTML文件的内容可以在“记事本”或其他文本工具软件中输入。在存盘输入文件名称时,一定要输入HTML文件的扩展名htm或html。Windows系统会自动将文件保存为可以使用浏览器打开的文件格式,如IE网页形式等。在编写HTML文档时,各种英文标记符要在英文输入方式下输入,如双引号、尖括号等。

一些常用的HTML语言标记符的作用如表1-4-1所示。

表1-4-1 常用的HTML语言标记符

续表

在表1-4-1中,标记符的格式有以下两种:

在第一种格式中,RR、GG、BB可以分别取值为00~FF的十六进制数。RR用来表示颜色中有多少红色成分,GG用来表示颜色中有多少绿色成分,BB用来表示颜色中有多少蓝色成分。红、绿、蓝三色按一定比例混合,可以得到各种颜色。数值越大,相应的颜色越深。

例如,,表示黑色;,表示白色;,表示黄色;,表示红色。

第二种格式是直接使用颜色的英文名称来设定网页的背景颜色。例如, :用来设置网页的背景颜色为黑色;,用来设置网页的背景颜色为黄色;,用来设置网页的背景颜色为绿色。1.4.3 我的第一个Java小程序

编写一个Java小程序MyFirstApplet,程序运行后,在新打开的窗口中显示“Hello World!”和“这是我的第一个Java小程序。”两行文字,操作步骤如下:(1)单击“开始”→“所有程序”→“附件”→“记事本”菜单命令,打开“记事本”软件。(2)在“记事本”中,输入如下程序代码。(3)在上面的代码中,第1条语句引入java.awt包中的所有类;第2条语句引入java.applet包中的所有类,包括Applet类,这是Apple程序必须引入的类。g.drawString("Hello World!",30,50);和

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载