Java程序设计项目教程(第二版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-10-01 09:13:44

点击下载

作者:郭庚麒 周江

出版社:中国铁道出版社

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

Java程序设计项目教程(第二版)

Java程序设计项目教程(第二版)试读:

版权信息

书名:Java程序设计项目教程(第二版)

作者: 郭庚麒,周江

排版:中国铁道出版社

出版社:中国铁道出版社

出版时间:2015.1

ISBN:978-7-113-20789-2

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

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

本书以Java SE技术为背景介绍Java程序设计的方法。全书共分为15章,全面而翔实地介绍了Java程序设计语言的编程方法和技巧,内容包括Java的基本语法、Java异常处理机制、基本输入/输出、Java GUI编程、Java数据库编程等。

本书是作者多年教学经验的总结,主要内容以“班主任小助手”项目系统为载体,采用任务驱动的教学方法,按照学生的认知规律,逐层深入、抽丝剥茧地进行介绍,语言通俗而不失严谨。同时,本书还选配有大量的习题和实训项目,实训项目的选择本着一致性、趣味性和实用性相结合的原则,旨在培养学生的应用能力。

本书适合作为高等职业院校、应用型本科院校面向对象编程语言的入门教程,也可作为Java编程爱好者的参考用书。前言(第二版)

FOREWORD

随着Internet的迅速发展及其应用的逐步深入,Java语言得到普遍应用,已成为首选的网络开发工具。Java是由Sun公司了布的面向对象的跨平台编程语言,其精髓是“一次编程,随处运行”,有效地满足了网络环境对编程语言的需求。在网络时代,掌握Java程序设计语言的基本知识和编程技巧,已成为IT职场的一块“敲门砖”。

本书共分为15章,全面而翔实地介绍了Java程序设计语言的编程方法和技巧,内容包括Java的基本语法、Java异常处理机制、基本输入/输出、Java GUI编程、Java数据库编程等。

本书是作者多年从事计算机教学和系统开发经验的总结,通俗易懂、深入浅出,适合作为高等职业院校计算机专业及其相关专业的教材,也可作为软件开发人员及其他有关人员的参考用书。本书具有如下特色:(1)以“班主任小助手”项目系统为载体,采用任务驱动的教学方法。每个任务按照“任务描述”“任务分析”“任务实施”等步骤来展示一个实际编程任务的完成过程。(2)按照学生的认知规律,逐层深入、抽丝剥茧地进行介绍,讲解过程注意培养学生的思维能力,激发他们的创新能力。(3)降低学习的难度,概念和知识的引入多采用案例说明和类比的方法,语言通俗而不失严谨。(4)注重理论和实践相结合,配有大量难易程度不同的实训项目。实训项目的选择本着一致性、趣味性和实用性相结合的原则,旨在培养学生的应用能力,同时满足分层次教学的需要。(5)作为面向对象程序设计课程的教材,建议授课学时为112学时,着重培养读者面向对象程序设计的思想和方法。

本书第一版自出版之来,受到广大读者的好评,也收到了同行们不少有益的建议。本次改版除修改书中发现的个别错误之外,还充实了部分章节的思考与练习题,更新了软件的运行版本,同时增加了第15章作为总的综合实训案例。

本书配有电子教案和实例源代码,可以到http://www.51eds.com网站下载。

本书由郭庚麒、周江编著,其中第1~5、8、13章由郭庚麒编写,第6、7、9~12、14、15章由周江编写。

本书的内容虽然经过多次讲授,实例也经过了多次测试,但仍难免会存在疏漏和不足之处,恳请读者批评指正。

编者2015年6月第1章Java概述及开发环境的建立

Java语言是一种优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等优良特性。Java语言不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发,具备“一次编写,随处运行”的特点,它是网络时代最重要的编程语言之一。

要学习Java语言,首先要了解其相关知识。读者通过本章的学习,应达到以下目标:1.1Java背景及特点

Java是1995年由Sun公司发布的编程语言,它的出现源于对独立于平台编程语言的需要,希望能用这种语言编写出嵌入到各种家用电气设备的芯片上并易于维护的程序。1990年12月,Sun公司成立了由James Gosling等人组成的一个叫Green Teem的小组,该小组的主要目标是开发一种能够在PDA、手机、信息家电等消费性电子产品操作平台上运行的分布式系统,James Gosling为此研发了名为oak(一种橡树的名字)的编程语言。oak具备安全性、网络通信、面向对象、垃圾收集和多线程等特点,由于注册商标时已有oak这个名字,遂将其改名为Java。2009年4月,Oracle(甲骨文)公司宣布以74亿美元收购Sun公司。

Java语言的发展受益于Internet和Web的出现,因为Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,却希望运行相同的程序。Java的出现满足了这种要求,标志着真正分布式系统的到来。

Java是目前使用最为广泛的网络编程语言之一。它具有简单性、面向对象、与平台无关、多线程、安全性、健壮性等特点。

1.简单性

Java语言的简单性,是指这门语言比较容易学习而且好用。Java是从C++演变而来的,保留了C++的许多优点,但废弃了许多容易产生错误的功能,并提出相应加强或替代的方案。

2.面向对象

面向对象的编程更符合人的思维模式,使人们更容易编写程序。Java语言引入了类的概念,是彻底的面向对象编程语言。类是用来创建对象的模板,它包含对被创建对象的状态描述和行为的定义。

3.与平台无关

与平台无关是Java语言最大的优势,其他语言编写的程序面临的一个主要问题是:操作系统的变化、处理器的升级以及核心系统资源的变化,都可能使程序出现错误或者无法运行。Java的虚拟机成功地解决了这个问题,用Java编写的程序可以在任何安装了Java虚拟机(Java Virtual Machine,JVM)的计算机上运行。因此,Sun公司实现了自己的目标:让用Java语言编写的程序可以“一次编写,随处运行”。

4.多线程

多线程是指程序同一时间内执行多项工作的能力,例如从网络上下载一个影片的同时也可以播放它。多线程功能在图形用户界面和网络程序设计上特别有用,例如在设计网络程序时,一个服务器可以同时为多个客户端服务。

5.安全性

Java语言中没有指针,不会直接指向本地机器的内存,它自身的安全机制不会允许程序出现由此引起的致命性错误。当从网络上下载一个程序时,最担心的问题是该程序中是否含有恶意代码,如试图读取或者删除本地机器上的重要文件等。当客户使用支持Java的浏览器时,可以放心地运行Java的小应用程序Applet,因为Applet是被限制在Java运行环境中,不允许它访问计算机的其他部分。

6.健壮性

Java编译器提供了很好的错误检测功能,可检测出许多在执行阶段才显示出来的问题。Java也不使用那些比较容易出现错误的程序功能,如指针等。同时,Java语言的异常机制进一步提供了在程序执行阶段的可靠性保障。1.2Java的工作机制

Java编译器先将源程序翻译为与平台无关的字节代码(byte code),然后由在特定平台下运行的Java解释器来解释执行字节代码文件,其工作原理如图1-1所示。解释器对Java程序屏蔽了底层的操作系统和硬件平台的差异,因此同一个Java程序代码可以不加修改地运行在不同的硬件平台和操作系统上。可以说,Java程序代码是在一个Java虚拟机上运行的。

JVM是运行Java程序必不可少的机制。编译后的Java程序指令并不直接在硬件系统的CPU上执行,而是由JVM执行。JVM是编译后的Java程序和硬件系统之间的接口,程序员可以把JVM看作一个虚拟的处理器。它不仅解释执行编译后的Java指令,还进行安全检查。JVM是Java程序能在多平台间进行无缝移植的可靠保证,同时也是Java程序的安全检验引擎。

图1-1 Java程序处理过程

JVM的定义:JVM是在一台真正的机器上用软件方式实现的假想机器。JVM使用的代码存储在扩展名为.class的文件中。JVM的某些指令很像真正的CPU指令,包括算术运算、流控制和数组元素访问等。

Java虚拟机规范提供了编译所有Java代码的平台。因为编译是针对假想机的,所以该规范能让Java程序独立于平台。它适用于每个具体的硬件平台,以保证为JVM编译的代码的运行。JVM不但可以用软件实现,而且可以用硬件实现。

Java虚拟机规范对运行时数据区域的划分及字节码的优化并不做严格的限制,它们的实现依平台的不同而有所不同。JVM的实现称做Java运行时系统,简称Java运行时(Java Runtime Environment,JRE),其作用是把编译过的字节代码“翻译”成所在硬件平台可以辨别的机器码并执行。

Java运行时必须遵从Java虚拟机规范,这样,Java编译器生成的类文件才可被所有Java运行时系统下载。嵌入了Java运行时系统的应用程序,就可以执行Java程序。目前,有许多操作系统和浏览器都嵌入了Java运行时环境。

Sun Microsystems于1995年发布Java 1.0版本,1997年发布Java 1.1版本,1998年发布Java1.2,Java 1.2及其后的版本有一个统一的名称:Java 2 Platform。

Sun将最近所开发的Java运行环境区分成四大版本,分别是:

·应用于服务器(Server)上的Java EE(Java Platform,Enterprise Edition);

·应用于一般个人计算机(Personal Computer)上的Java SE(Java Platform,Standard Edition);

·应用于小型设备(Mobile Device)上的Java ME(Java Platform,Micro Edition);

·应用在Smart Card上的Java Card。

本书介绍的运行环境为Java SE(Java Platform,Standard Edition)。1.3Java开发环境简介

要想学好一门编程语言,选择一个好的开发环境非常重要。JDK是“Java Development Kit(Java开发工具包)”的缩写,由Sun公司开发,是Java的基本开发环境。JDK可以从www.oracle.com网站上免费下载,或从其他相关的网站中取得。Java 1.2之后的版本更名为J2SDK(Java2 Software Development Kit),不过大部分人仍沿用JDK来称呼。

JDK包括了Java运行环境JRE(Java Runtime Environment)、Java工具和Java基础类库。其核心Java API是一些预定义的类库,包括一些重要的语言结构以及基本图形、网络和文件I/O,开发人员通过这些类来访问Java语言的功能。

在成功下载和安装JDK后,就可在JDK的安装目录下编译和运行Java程序。但如果要在其他的路径下编译和运行Java程序,就需要设置环境变量path和classpath。具体操作见本章综合实训的实训1。

安装完JDK后,在JDK的安装目录下的bin文件夹中,可以找到多个开发工具运行文件,简单介绍如下:

·javac:Java编译器,用来将Java原始文件转成字节码。

·java:Java解析器,运行扩展名为.class的Java程序。

·javadoc:Java帮助文件管理器。此工具可产生HTML格式的API帮助文件。

·appletviewer:Java Applet查看器。查看内部包含Applet路径的HTML网页,如果HTML网页中没有包含Applet路径,则该查看器将没有反应。

Java源程序文件是纯文本文件,可以用Windows自带的“记事本”程序进行编辑,也可以用TextPad、Microsoft Word等常用工具编辑,编辑后将其另存为扩展名为.java的文件,然后用JDK中提供的几种简单工具进行编译、运行及程序的调试。

除了JDK这种最基本的开发环境之外,还有许多第三方团队开发了一些综合性开发环境(Integrated Developed Enviroment,IDE),提供图形操作的界面,但这些IDE都是架构在JDK上的。

以下是一些流行的综合开发环境工具:

·JBuilder(Borland公司);

·VisualCafe(Symantec公司);

·Oracle Jdeveloper(Oracle公司);

·Visual Age(IBM公司);

·JCreator(Xinox公司);

·Eclipse(eclipse.org协会)。

就笔者的经验,推荐使用JCreator,它的优点是免费使用,所占资源少,并且适合初学者。JCreator的下载、安装及简单使用可以参考本章综合实训的实训3和实训4。1.4HelloWorld应用程序和HelloWorld小应用程序

学习程序设计语言的捷径是从简单的任务开始。本节通过对简单的Java应用程序(Application)和小应用程序(Applet)的介绍,使读者初步了解用Java语言编写的程序的组成和结构。1.4.1 Java应用程序Application

Java应用程序(Application)是一类可以独立运行的程序,下面先介绍一个简单的任务,并对其进行分析。【任务1-1】 建立一个HelloWorld应用程序(一)任务描述

编写一个Java程序,输出如下一行信息:

Hello World!(二)任务分析(1)在程序中,应首先用关键字class来声明一个新的类,其类名为HelloWorld,它是一个公共类(由public关键字声明)。整个类定义由大括号{}括起来。

public class HelloWorld{

}(2)在该类的括号中定义了一个main()方法如下:

public static void main(String[]args){

}(3)在main()方法的实现中,只需要写一条语句:

System.out.println("Hello World!");

它用来实现字符串的输出。另外,在程序的第一行可以加一行注释“//任务1_1:打印Hello World!”,说明该程序的作用。(三)知识与技能(1)与main()位于同一行的public表示访问权限,指明所有的类都可以使用这一方法。(2)static指明该方法是一个类方法,它可以通过类名直接调用。(3)void则指明main()方法不返回任何值。(4)main()方法定义中的String[]args是传递给main()方法的参数,参数名为args,它是类String的一个数组,参数可以为0个或多个,多个参数之间用逗号分隔。(四)任务实施

任务实现的代码如下:(五)扩展内容

对于一个应用程序来说,main()方法是必需的,而且必须按照以上格式来定义。Java解释器在没有生成任何实例的情况下,以main()方法作为入口来执行程序。

一个Java程序中可以定义多个类,每个类中可以定义多个方法,但是一个Java程序最多只有一个公共类,一个类也只能有一个main()方法作为程序的入口。

Java应用程序的运行过程和输出结果详见本章实训2。1.4.2 Java小应用程序Applet

Java语言的特性使它可以最大限度地利用网络。Applet是Java的小应用程序,它是动态、安全、跨平台的网络应用程序。Java Applet嵌入HTML文本中,通过主页发布到Internet。网络用户访问服务器的Applet文件时,这些Applet从网络上被下载,然后在支持Java的浏览器中运行。由于Java语言的安全机制,用户一旦载入Applet,就可以放心地用其生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。虽然Applet可以和图像、声音、动画等一样从网络上下载,但它并不同于这些多媒体文件格式,它可以接收用户的输入,动态地进行改变,而不仅仅是动画的显示和声音的播放。【任务1-2】 建立一个Applet小应用程序(一)任务描述

编写一个简单的Applet小应用程序,输出结果如图1-2所示。

图1-2 Applet运行界面(二)任务分析

这是一个简单的Applet。

在程序中,首先用import语句输入java.awt和java.applet下所有的包,使得该程序能使用这些包中所定义的类,它类似于C++中的#include语句。

然后声明一个公共类HelloWorldApplet,用extends关键字指明它是Applet的子类。

在类中,重写父类Applet的paint()方法,其中参数g为Graphics类,用来代表“您好,Java小程序。”字符串的对象。

在paint()方法中,调用g的方法drawString(),在坐标(28,38)处输出字符串“您好!Java小程序。”,其中坐标是用像素点来表示的。

坐标(28,38)表示在距离窗口左上角横向28像素、纵向38像素的点。(三)知识与技能

这个程序中没有实现main()方法,这是小应用程序Applet与应用程序Application(如任务1-1)的区别之一。(四)任务实施(五)拓展内容

为了运行该程序,首先要把它放在HelloWorldApplet.java文件中,然后对它进行编译:

C:\>javac HelloWorldApplet.java

在得到字节码文件HelloWorldApplet.class后,由于Applet中没有main()方法作为Java解释器的入口,必须编写HTML文件,将该Applet嵌入其中,然后用appletviewer命令来运行,或在支持Java的浏览器中运行。它的文件如下:

其中用标记来启动HelloWorldApplet,code指明字节码所在的文件,width和height指明Applet所占位置的大小,把这个HTML文件存入文件Example.html中,然后运行:

C:\>appleviewer Example.html

这时屏幕上弹出一个窗口,其中显示“您好,Java小程序”。

从上述任务中可以看出,Java程序是由类构成的,对于一个应用程序来说,必须在一个类中定义main()方法,而对Applet来说,它必须作为java.applet.Applet的一个子类。在类的定义中,应包含类变量的声明和方法的实现。Java在基本数据类型、运算符、表达式、控制语句等方面与C、C++基本上是相同的,但它同时增加了一些新的内容,在以后的各章节中会详细介绍。在本节,只是让大家对Java程序有一个初步的了解。1.5项目系统简介

本书的主要内容以“班主任小助手”项目系统为载体,采用任务驱动的方法进行讲授。本节简要介绍该项目背景和功能需求,为后续的学习做好铺垫。1.5.1 项目应用背景

新生入学后,班主任要为班级创建花名册,每位学生(student)为花名册中的一个对象。在期末时,班主任需要做的一项常规工作就是将本班本学期的所有成绩输入到计算机中,并完成以下工作:(1)为每门课程生成如下格式的成绩统计表。(2)为每个学生生成如下格式的家庭报告书,并寄到学生所在的家庭地址。

另外,学生要求将成绩放到网页上,以便可以尽早查询到自己的成绩。

为了能让班主任在期末快速完成这些工作,并满足同学提出的成绩查询的要求,计算机系的学生David决定用Java来开发一个实用的小型学生成绩管理系统,并称其为“班主任小助手”。1.5.2 系统结构和功能设计

经过分析,David为“班主任小助手”设计了图1-3所示的系统结构图。

图1-3 “班主任小助手”系统结构图

同时,David认为“班主任小助手”应包含如下功能:(1)对于学生,可通过系统查询自己的成绩、修改密码。(2)对于班主任,可通过系统完成输入、修改成绩;打印成绩清单;生成成绩统计表;生成家庭报告书;修改密码。(3)对于系统管理员,可通过系统增加、删除、修改教师和学生的账号。1.5.3 系统功能任务清单

在本书中,项目的大部分功能是用任务的方式来实现,其对应关系如表1-1所示。

表1-1 “班主任小助手”功能和任务对照表

读者在阅读完本书后,可以根据相应的任务实现“班主任小助手”的完整功能。1.6综合实训

实训1:安装JDK,设置环境变量并进行验证(1)访问http://www.oracle.com,根据自己的操作系统版本,选择下载对应的JDK版本。(2)根据自己的操作系统类型,设置环境变量path和classpath。

例如,编者的计算机为Windows 7 64位操作系统,安装的JDK版本为jdk1.8.0_31,且安装在默认路径:C:\Program Files\Java\jdk1.8.0_31,此时只需要将环境变量path和classpath按如下方法进行设置:

右击“计算机”图标,选择“属性”命令,打开“系统”窗口,单击“高级系统设置”链接,打开“系统属性”对话框,默认打开“高级”选项卡,单击“环境变量”按钮,在“环境变量”对话框的“系统变量”列表中设置。

如果原来没有环境变量path,则新建环境变量path,并设path的值为:“JDK的安装路径\bin”。如果原来就有环境变量path,则在环境变量path的值后面加上“;JDK的安装路径\bin”。

例如,编者的计算机在设置环境变量path时,界面如图1-4所示,变量值的全部内容为:“%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\Java\jdk1.8.0_31\bin;; C:\Program Files\Java\jdk1.8.0_31\bin; ”,后面加粗的部分“;C:\Program Files\Java\jdk1.8.0_31\bin”就是新添加的。

图1-4 环境变量path的设置

接下来设置环境变量classpath。

①如果原来没有环境变量classpath,则新建环境变量classpath,并设置classpath的值为:“;.;JDK安装路径\lib\tools.jar;JDK安装路径\lib\dt.jar”。其中,第一个字符“.”代表当前目录。

②如果原来就有环境变量classpath,则在环境变量classpath的值后面加上“;JDK的安装路径\lib\tools.jar;JDK安装路径\lib\dt.jar”。

例如,编者的计算机在设置环境变量classpath时,界面如图1-5所示。

图1-5 环境变量classpath的设置(3)单击“开始”按钮,直接在搜索框中输入命令“cmd”,然后输入命令“java-version”,按【Enter】键,看是否有类似图1-6所示的界面。

图1-6 查看JDK安装的版本

如果出现类似图1-6所示的界面,则证明JDK已经安装成功,并且环境变量已设置好。

实训2:用记事本编写简单Java程序并运行(1)在某工作目录下(如D:\java\)用记事本建立文件,并输入以下代码(注意区分大小写),并保存为“HelloWorld.java”。(2)进入命令行界面,并转到HelloWorld.java文件所在的目录。(3)在命令行提示符下输入javac HelloWorld.java进行编译,如果没有提示错误,则查看工作目录下是否多了一个HelloWorld.class文件。(4)在命令行提示符下输入java HelloWorld运行该程序,看是否有结果Hello World输出。

备注: 如果有不正确的结果,可参考以下常见错误提示进行修改。

错误提示1:“javac”不是内部或外部命令,也不是可运行的程序或批处理文件(javac:Command not found)。

·原因:未安装JDK或者没有设置好环境变量path。

·改正:安装JDK或者重新设置环境变量path为正确值。

错误提示2:HelloWorld is an invalid option or argument。

·原因:源文件的扩展名不是.java。

·改正:打开资源管理器或任意文件夹,选择“工具”→“文件夹选项”命令,将“隐藏已知文件类型的扩展名”选项取消,修改源文件的扩展名为.java。

错误提示3:Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld。

·原因:类路径(classpath)未设置好,少了结尾处的tools.jar或者少了最开始的“;.;”。

·改正:重新设置环境变量classpath为正确值。

实训3:安装JCreator软件,配置Java编程的综合开发环境

JCreator是Xinox软件公司的产品,这是一套在Windows环境下功能较强大的Java整合开发环境,提供程序编辑、运行、排错等功能,分为LE和Pro两个版本。Pro版本功能更强大,但只可以免费下载使用30天。LE版本是受限制的版本,也是自由软件,可以永久免费试用,本书将介绍JCreator LE 4.50的安装和简单使用方法。

安装JCreator LE 4.50的过程如下:(1)到http://www.jcreator.com下载JCreator LE软件。(2)JCreator LE的下载格式是ZIP格式,可以将其解压到临时文件夹。(3)安装JCreator LE,默认的安装目录是C:\Program Files\Xinox Software\Jcreator- V4LE,可以更改。安装过程中,系统会询问JDK的安装目录,只要按照提示指定JDK目录即可。(4)运行JCreator LE,初始界面如图1-7所示。

图1-7 JCreator界面

实训4:用JCreator编辑简单程序并运行(1)新建程序。选择JCreator软件菜单栏中的File→New→File命令,选择Java Class选项,并单击Next按钮,弹出图1-8所示的对话框,选择源程序的存放位置和文件名。

在图1-8中进行设置后,将看到图1-9所示的界面,右侧的代码窗格中已经自动生成了一些代码,可以在这里输入和编辑源程序。

图1-8 File Wizard对话框

图1-9 编辑代码

将源程序改为以下内容:(2)编译程序。当程序都输入完后,可以单击工具栏中的Build按钮进行编译,如果有语法错误,会在下面的Build Output窗口中提示。(3)运行程序。编译没有语法错误后,可以单击工具栏上中Run Project按钮运行源程序。程序将输出Hello World。(4)设置可带参数运行环境。如果需要带参数运行,需要在JCreator环境中做一些设置。首先选择Configure→Options选项,在Options对话框左边列表框中选择JDK Tools选项,在Select Tool Type下拉列表框中选择Run Application选项,再在中间的列表框中选择default选项,单击Edit按钮,在弹出的Tool Configuration:Run Application对话框中,选择Parameters选项卡,选中Prompt for main method arguments复选框,如图1-10所示。单击“OK”按钮,完成设置。

图1-10 设置可带参数运行环境(5)设置好后,修改HelloWorld.java程序为如下内容:

然后运行程序,会弹出图1-11所示的对话框。

图1-11 HelloWorld程序运行界面

在文本框中输入“1 2”(多个参数中间用空格分开),即可运行,结果为:

第一个参数为1

第二个参数为2小结

本章介绍了Java程序的工作原理及建立Java开发环境需要的工具和步骤,并通过两个简单的Java程序介绍了Java程序的构成,以及本教材中将讲到的案例和各个任务之间的关系。通过本章的学习,读者可以自己搭建Java开发环境,并且练习写最简单的一个输出Hello World的Java程序。思考与练习

一、选择题

1.下列哪个说法是正确的?(  )

A.Java只能用来写Applet,而不能写Application

B.Java Applet由main()开始运行

C.Java程序经过编译后产生字节代码

D.Java程序经过编译后产生机器代码

2.下列哪个说法正确?(  )

A.能被Appletviewer成功运行的Applet文件必须有main()方法

B.JVM的作用是让Java程序可以跨平台运行

C.JDK一共有两个版本

D.Java不适合写网络程序

3.当初设计Java的初衷是(  )。

A.发展航空仿真软件  B.发展国防军事软件

C.发展人工智能软件  D.发展消费性电子产品

4.Java是从哪种语言改进并被重新设计?(  )

A.C++  B.Ada  C.Pascal  D.COBOL

二、填空题

1.Java程序的种类有:内嵌于Web的文件、由浏览器观看的___、可独立运行的和服务器端的___。

2.Java语言运行的平台是___,其最大特点是___。

3.Java一共有___个版本,分别是___、Java SE、___、___。

三、简答题

1.Java是低级语言还是高级语言?

2.Java是面向对象的程序设计语言吗?

3.Java是编译型的计算机语言还是解释型的计算机语言?

4.Java语言的程序设计包含哪3个步骤?

5.Java源程序文件的扩展名是什么?

6.Java源程序经编译后生成什么文件?其扩展名是什么?

7.Java程序有哪两类?

8.说明JVM保证Java程序跨平台运行的原理。第2章Java语言基础

作为一种计算机编程语言,Java可以用来保存、加工和输出各种数据,读者通过本章的学习,应该达到以下目标:2.1Java语言基本语法单位2.1.1 标识符

用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列被称为标识符。简单地说,标识符就是为程序中某一对象取的一个名字,它有如下命名约束:(1)由数字(0~9)、A~Z的大写字母、a~z的小写字母和下画线_、美元符$等构成,但首字符必须是字母、下画线或美元符,不能为数字。(2)Java对标识符大小写敏感,没有最大长度的限制。(3)标识符不可以是Java关键字或常量。(4)除了美元符和下画线外,其他标点符号均不可使用。

例如,98_32、_ABC、$USA、Student、www_12$、$123boy都是合法的标识符,表2-1是一些非法的标识符及非法原因。

表2-1 非法标识符举例2.1.2 关键字(保留字)

关键字就是Java语言中已经被赋予特殊意义的一些单词,程序员不可以把这一类词作为标识符来使用。Java的关键字分类如表2-2所示。

表2-2 Java的关键字

注意

true、false、null都是小写的。2.1.3 语句、空白、注释、分隔符

1.语句和语句块

在Java中,语句是最小的执行单位,各语句之间以分号分隔。一个物理行可包含若干语句;一条语句也可写在连续的若干行内。

用花括号“{”和“}”包含的一系列语句称为语句块,简称块。

语句块可以嵌套,即语句块中可以含有子语句块。

在逻辑上,块被当做一个语句看待。

2.空格符

空格符包括空格、水平定位键、回车和换行键。空格符的作用主要是增强程序的可读性,Java程序的元素之间可插入任意数量的空白,编译时并不处理。

3.注释

在程序中适当地加入注释,会增强程序的可读性。Java里有3种类型的注释,如表2-3所示。

表2-3 3种注释类型

文件注释可用javadoc.exe制作成帮助文件。

4.分隔符

分隔符是指将程序的代码组织成编译器所能理解的形式。Java的分隔符有()、[]、{}、;、空格符等。2.2Java基本数据类型2.2.1 常量和变量

Java中的常量操作数很简单,只有简单数据类型和String类型才有相应的常量形式。例如:

·整型常量:123、4500。

·实型(浮点型)常量:1.23、3.14e9。

·字符常量:'a'、'0'。

·布尔常量:true、false。

·字符串常量:"This is a constant string."、"Student"。

变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。其中:(1)变量名必须是一个合法的标识符,变量名应具有一定的含义,以增加程序的可读性。(2)变量类型可以为上面所说的任意一种数据类型。(3)变量的作用域指明可访问该变量的一段代码的范围。

1.变量的声明

变量在使用前必须先声明。变量声明的基本格式为:

Type name1[=value1][,name2[=value2]]…;

其中,Type是变量的类型,既可以是简单类型,如int和float等,也可以是类类型。有时也把类类型的变量称为引用,通过引用来访问对应的对象。声明变量语句如下:

int a;

char c;

int a,b;

2.变量初始化

Java中的变量用做操作数时一般需先赋初始值。对于简单变量,在说明的同时便可以进行初始化,如:

int x=3;

简单变量如果不赋初值,其默认值如表2-4所示。

表2-4 简单变量的默认值2.2.2 数据类型概述

Java语言中的数据类型和其他高级语言很相似,分为基本数据类型和复合数据类型。基本数据类型是Java语言定义的数据类型,用户通常是不可修改的。复合数据类型是用户根据自己的需要定义,由基本数据类型及其运算复合而成。

基本数据类型包括整数类型(简称整型)、浮点类型、字符类型和布尔类型(也称逻辑类型),复合数据类型包括类、接口和数组。Java语言不支持指针类型、结构类型、联合类型和枚举类型。Java数据类型如图2-1所示。

图2-1 Java数据类型

本节将介绍Java语言中的基本数据类型,以及各数据类型的优先级和转换关系。

1.整数类型

Java提供4种整型量,对应的关键字分别为byte、short、int和long,其对应的长度和表示范围如表2-5所示。

表2-5 Java整数类型

整型数据是最普通的数据类型,它的常量可用十进制、八进制和十六进制表示。

·八进制数:以0开头的数字。

·十六进制数:以0X(或0x)作为开头的数字。

整数示例:

25  表示十进制数25;

025  表示八进制数,相当十进制数21;

0X25A  表示十六进制数,相当十进制数602。

假如由于某些原因,必须表示一个比较大的数,可用64位的长整型数。如果想把一个整数强制存为一个长整型(long),可在数字后面加字母L(或小写的l)来说明。

长整型常量示例:

25L  表示十进制数25,是长整型,占8字节;

025L  表示八进制数,相当于十进制数21,是长整型,占8字

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载