作者:张跃平,耿祥义,等
出版社:电子工业出版社
格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT
Java大学实用教程学习指导(第3版)试读:
大学计算机规划教材
Java大学实用教程学习指导(第3版)
CIP号:第121243号
ISBN:978-7-121-17314-1
中图分类:TP312
关键词:JAVA语言-程序设计-高等学校-教材
北京,2012/08,电子工业出版社
版次:3
印次:1
价格:28.00
印张:12.5
字数:340
开本:787×1092 1/16
语种:中文摘要
本书是《Java大学实用教程(第3版)》(ISBN 978-7-121-14913-9)的配套学习指导书,除了按照主教材的章节配备实验指导外,还增加了一个综合实验—走迷宫游戏。
每章的实验指导由知识概括、实验内容和知识扩展三部分内容组成,学生可按照实验的要求上机编写程序。每个实验都提供了程序模板,学生完成实验后需填写实验报告。知识扩展是对实验内容的一个补充,结合实例讲解主教材未涉及的一些知识或已学知识的深入讨论。综合实验的目的是综合运用所学知识设计一个完整软件。
本书适合作为高等院校面向对象程序设计(Java)相关课程的学习参考书,也可供自学者参考。章海涛 责任编辑张跃平,耿祥义,雷金娥 编著章海涛 其他贡献者曹剑锋 其他贡献者徐海燕 封面设计第3版前言
本书是主教材《Java大学实用教程(第3版)》(ISBN 978-7-121-14913-9)的配套学习指导书,目的是通过一系列实验练习使学生巩固所学的知识。
相对于第2版,本书修改了部分实验的内容,并增加了一些新的实验内容,特别是第14章的综合实验由原来的扫雷游戏更新为了走迷宫游戏。
每章由以下三部分组成。
1.知识概括
这一部分总结了主教材相应章节的重点和难点知识。
2.实验练习
这一部分由若干实验组成,每个实验主要包括五部分:
● 实验目的—让学生了解实验需要掌握哪些知识,实验将以这些知识为中心。
● 实验要求—该实验需要达到的基本标准。
● 程序模板—一个 Java 源程序,其中隐藏了需要学生重点掌握的代码,这部分代码要求学生来完成。模板起到引导作用,学生通过完成模板可以深入了解解决问题的方式。
● 实验指导与检查—针对实验的难点给出必要的提示,并要求学生向指导老师演示模板程序的运行效果。
● 实验报告—其中包括根据实验提出的一些问题或要求学生进一步编写的代码。对于实验报告中提出的问题,学生可能需要编写一些程序代码,才能给出一个正确的答案;对于要求学生编写的代码,学生必须按照要求编写。学生须完成该实验报告的填写,并由指导老师签字。
3.知识扩展
这一部分是对主教材对应章节的知识的补充,结合实例讲解主教材未能涉及的一些知识或对已学知识的深入讨论。
读者可以登录到华信教育资源网(http://www.hxedu.com.cn)下载实验用程序模板的完整源程序,也可发邮件至unicode@phei.com.cn咨询。
作 者
作者简介
张跃平,现任大连交通大学副教授,具有多年从事Java语言教学经验。
耿祥义,1995年中国科学技术大学博士毕业,获理学博士学位。1997年从中山大学博士后流动站出站。现任大连交通大学教授,具有多年从事Java语言教学经验,已编写出版多部教材。第1章 Java语言概述
本章导读
知识概述
实验1 一个简单的应用程序
实验2 源文件的命名规则
知识扩展—联合编译1.1 知识概述
Java语言的出现源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而无法运行或运行错误。目前,随着网络的迅速发展,Java语言的优势愈加明显,Java已经成为网络时代最重要的语言之一。
本章要求读者初步了解Java的一些特点,如面向对象、多线程、动态、平台无关等,许多特点必须经过进一步的学习才能深入理解。Java有三个重要平台:Java EE、Java SE和Java ME,分别针对大型服务器程序、一般应用程序和嵌入式程序的设计开发平台。Java SE平台是学习掌握Java语言的最佳平台,而掌握Java SE又是进一步学习Java EE和Java ME所需的。本章要求读者重点掌握开发Java应用程序的基本步骤。1.2 实验练习1.2.1 一个简单的应用程序
1.实验目的
本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
2.实验要求
编写一个简单的Java应用程序,该程序在命令行窗口中输出两行文字:“你好,很高兴学习Java”和“We are students”。
3.程序效果示例
程序效果如图1-1所示。图1-1 简单的应用程序
4.程序模板[1]
按模板要求,将【代码】替换为程序代码。
Hello.java
5.实验指导与检查
步骤1:打开一个文本编辑器。如果是Windows操作系统,则可打开“记事本”编辑器;如果是其他操作系统,请在指导教师的帮助下打开一个纯文本编辑器。
步骤2:按“程序模板”的要求输入源程序。
步骤3:保存源文件,并命名为Hello.java。将源文件保存到C盘的某个文件夹中,如C:\1000。
步骤4:打开命令行窗口来编译源文件。对于Windows 操作系统,打开MS-DOS窗口;对于Windows 2000/XP操作系统,可以通过选择“开始”→“程序”→“附件”→“MS-DOS”来打开命令行窗口,也可以选择“开始”→“运行”,在弹出对话框的命令框中输入“cmd”命令来打开命令行窗口。如果目前MS-DOS窗口显示的逻辑符是“D:\”,输入“C:”并回车确认,使得当前MS-DOS窗口的状态是“C:\”。如果目前MS-DOS窗口的状态是C盘的某个子目录,请输入“cd\”,使得MS-DOS窗口的状态是“C:\”。当MS-DOS窗口的状态是“C:\”时,输入进入文件夹目录的命令,如“CD 1000”,然后执行下列编译命令:
初学者在这一步可能遇到下列错误提示:
⊙ Command not Found—出现该错误的原因是没有设置好系统变量Path,可参见主教材的1.5节内容。
⊙ File not Found—出现该错误的原因是没有将源文件保存在当前目录中(如C:\1000),或源文件的名字不符合有关规定(如错误地将源文件命名为“hello.java”或“Hello.java.txt”)。注意:Java语言的标识符是区分大小写的。
⊙ 出现一些语法错误提示,如在中文输入状态下输入了程序中需要的分号等。Java源程序中,语句所涉及的圆括号及标点符号都是英文状态下输入的,如"你好,很高兴学习Java"中的引号必须是英文状态下的引号,而字符串里面的符号不受限制。
步骤5:运行程序。
初学者在本步骤可能遇到下列错误提示:Exception in thread "main" java.lang.NoClassFoundError。出现该错误的原因是没有设置好系统变量Classpath(可参见主教材的1.5节内容),或者运行的不是主类的名字或程序没有主类。
6.填写实验报告
实验报告的格式如下(可要求学生填写并由实验指导教师签字):1.2.2 源文件的命名规则
1.实验目的
本实验的目的是让学生掌握源文件的命名规则。
2.实验要求
编写Java应用程序,其中有两个类:People类和A类。A类是主类,People类是public类。
3.程序效果示例
程序效果如图1-2所示。图1-2 运行主类
4.程序模板
按模板要求,将【代码】替换为程序代码。
People.java
5.实验指导与检查
如果源文件中有多个类,那么只能有一个类是public类。如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java(不要求主类必须是public类)。如果源文件没有public类,那么源文件的名字只要与某个类的名字相同,并且扩展名是.java即可。
Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文件。Java应用程序总是从主类的main()方法开始执行,因此必须按如下命令运行实验中的Java程序:
6.填写实验报告
实验报告的格式如下(可要求学生填写并由实验指导教师签字):1.3 知识扩展——联合编译
Java程序的基本结构就是类,可以事先单独编译一个应用程序所需的类,将这些类和应用程序的主类存放在同一目录中即可。如果主类与其他类在同一目录中,则只需编译应用程序的主类。例如,有若干个源文件:Hello.java、A.java和B.java。每个源文件只有一个类,其中Hello.java是应用程序的主类(含有main()方法),主类使用了类A、B和C,那么只需编译源文件Hello.java即可。在编译Hello.java的过程中,Java系统会自动先编译A.java、B.java和C.java。
将下列4个源文件保存到同一目录中(如C:\1000),然后编译Hello.java。编译通过后,C:\1000目录中将有Hello.class、A.class和B.class三个字节码文件。然后运行主类Hello即可。
Hello.java
A.java
B.java
[1]:①【代码】泛指程序段中的【代码1】、【代码2】等,以下同。第2章 基本数据类型和数组
本章导读
知识概述
实验1 输出俄文字母表
实验2 从键盘输入数据
知识扩展—数组的快速复制2.1 知识概述
1.基本数据类型
Java的基本数据类型包括:byte,short,int,long,float,double和char。要特别掌握基本类型的数据转换规则,基本数据类型按精度级别由低到高的顺序是:byte→short→int→long→float→double。
当把级别低的类型变量的值赋给级别高的类型变量时,系统自动完成数据类型的转换。当把级别高的类型变量的值赋给级别低的类型变量时,必须使用显式类型转换。
要观察一个字符在Unicode表中的顺序位置,必须使用int类型显式转换,如(int)'a'。不可以使用short类型转换,因为char的最高位不是符号位。同样,要得到一个0~65535之间的数所代表的Unicode表中相应位置上的字符也必须使用char类型显式转换。char类型数据与byte、short、int或long类型数据进行运算后的结果总是int类型数据。
2.数组
数组属于引用类型数据,是将相同类型的数据按顺序组成的一种复合数据类型。可以用数组名加数组下标的方式来调用数组中的数据,下标从0开始。2.2 实验练习2.2.1 输出俄文字母表
1.实验目的
本实验的目的是让学生掌握char类型数据与int类型数据之间的互相转换,同时了解Unicode字符表。
2.实验要求
编写一个Java应用程序,该程序在命令行窗口中输出俄文字母表。
3.程序效果示例
程序效果如图2-1所示。图2-1 输出俄文字母
4.程序模板
按模板要求,将【代码】替换为程序代码。
Russian.java
5.实验指导与检查
⊙ 为了输出俄文字母表,首先获取俄文字母表的第一个字母和最后一个字母在Unicode表中的位置,然后使用循环输出其余俄文字母。
⊙ 向实验指导教师演示程序的运行效果。
6.实验报告
实验报告的格式如下(可要求学生填写并由实验指导教师签字):2.2.2 从键盘输入数据
1.实验目的
本实验的目的是让学生掌握从键盘输入基本类型的数据的方法。
2.实验要求
编写一个Java应用程序,在主类的main()方法中声明用于存放产品数量的int类型变量amount和产品单价的float类型变量,以及存放全部产品总价值的float类型变量sum。
使用Scanner对象调用方法,让用户从键盘输入变量amount、price的值,然后计算出全部产品总价值,并输出amount、prince、sum的值。
3.程序效果示例
程序效果如图2-2所示。图2-2 输入数量与价格
4.程序模板
按模板要求,将【代码】替换为程序代码。
InputData.java
5.实验指导与检查
⊙ Scanner对象调用nextDouble()或nextFloat()方法可以获取用户从键盘输入的浮点数。
⊙ 向实验指导教师演示程序的运行效果。
6.实验报告
实验报告的格式如下(可要求学生填写并由实验指导教师签字):2.3 知识扩展——数组的快速复制
1.数组的快速复制
我们已经知道,数组属于引用类型。也就是说,如果两个数组具有相同的引用,那么它们有完全相同的内存单元。例如:
如果执行
那么a和b的值相同,即a的引用与b相同。这样,a[0]和b[0]是相同的内存空间,a[1]和b[1]的内存空间也相同。
有时我们想得到一个数组的“复制品”,即这个“复制品”数组与原数组的单元的个数相同,其中存储的数据也相同,但这个“复制品”数组单元值的改变不会影响到原数组,反之也是如此。
让System类调用类方法
可以将数组sourceArray从索引index1开始后的length个单元中的数据复制到数组copyArray中,即将数组sourceArray中索引值从index1到index1+length–1单元中的数据复制到数组copyArray的某些单元中;copyArray数组从第index2单元开始存放这些数据。如果数组copyArray不能存放下复制的数据,程序运行将发生异常。
下面的CopyArray.java演示了arraycopy()方法。
CopyArray.java
2.多维数组
Java采用“数组的数组”定义多维数组,一个二维数组由若干个一维数组组成。例如,二维数组
就是由3个长度为4的一维数组构成的。
构成二维数组的一维数组不必有相同的长度,在创建二维数组时可以分别指定构成该二维数组的一维数组的长度。例如:
二维数组a由3个一维数组a[0]、a[1]和a[2]构成。但它们的长度还没有确定,即这些一维数组还没有分配内存空间,所以二维数组a还不能使用,必须创建这3个一维数组,如
也可直接用若干个一维数组初始化一个二维数组,这些一维数组的长度可以不尽相同。例如:
下面的Example.java应用程序输出杨辉三角形的前5行。
Example.java第3章 运算符、表达式和语句
本章导读
知识概述
实验1 猜数字
实验2 回文数
知识扩展—使用Arrays类实现数组排序3.1 知识概述
本章要求掌握各种运算符的使用规则,如算术运算符、关系运算符、布尔逻辑运算符、位运算符、赋值运算符等,掌握Java的表达式(特别要注意的是,一个Java表达式必须能求值),熟练使用Java的控制语句:条件分支语句和循环语句。3.2 实验练习3.2.1 计算电费
1.实验目的
本实验的目的是让学生使用if-else分支语句解决问题。
2.实验要求
为了节约用电,将用户的用电量分成3个区间,针对不同的区间给出不同的收费标准。对于1~90千瓦时(kW·h,度)的电量,每千瓦时0.6元;对于91~150千瓦时的电量,每千瓦时1.1元;对于大于151千瓦时的电量,每千瓦时1.7元。编写一个Java应用程序程序,在主类的main()方法中输入用户的用电量,程序输出电费。
3.程序效果示例
程序效果如图3-1所示。图3-1 计算电费
4.程序模板
试读结束[说明:试读内容隐藏了图片]