面向对象程序设计及windows编程实验指导书_第1页
面向对象程序设计及windows编程实验指导书_第2页
面向对象程序设计及windows编程实验指导书_第3页
面向对象程序设计及windows编程实验指导书_第4页
面向对象程序设计及windows编程实验指导书_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计及 WINDOWS 编程实验指导书(java 程序设计)2012.2目 录第一部分 JAVA 集成开发环境 .2第二部分 Java 程序设计实验项目 16实验一 熟悉 Java 程序开发环境 .17实验二 Java 基本数据类型及运算 .20实验三 流程控制语句 22实验四 面向对象程序设计初步 24实验五 类与对象的设计 26实验六 类的继承 30实验七 抽象类和接口 34实验八 数 组 37实验九 异常处理 39实验十 流式输入输出处理 42实验十一 线程 45实验十二 用户图形界面 GUI 标准组件及事件处理 .47实验十三 Applet 的编写 48实验十三 Java 网络编程技术 .52实验十五 JDBC 数据库编程 .55注:带*为选做实验第一部分 JAVA 集成开发环境Java 不仅提供了一个丰富的语言和运行环境,而且还提供了一个免费的 Java 开发工具集(JavaDevelopersKits,简称 JDK)。编程人员和最终用户可以利用这些工具来开发 java 程序或调用 Java 内容。通常我们以 JDK(Sun 所开发的一套 Java 开发工具)的版本来定义 Java 的版本。JDK1.0 版于 1996 年初公开, JDK1.1 版于 1997 年初公开,JDK1.2 版于 1998 年底公开。基于市场行销的考量,Sun 在 JDK1.2 版公开后旋即将 Java 改名为Java2,将 JDK 改名为Java2SoftwareDevelopmentKit(以下简称 J2SDK)。J2SDK(原称 JDK)1.3 于 2000 年 4月公开,此版本仍称做Java2 。目前 J2SDK1.4.2 版已经发布并投入使用中,目前 Java1.5测试版已发布。Java2 出现后,将分成 Java2PlatformEnterpriseEdition(简称 J2EE)、Java2PlatformStandardEdition(简称 J2SE)、Java2PlatformMicroEdition(简称 J2ME)。J2EE 适用于服务器,目前已经成为企业运算、电子商务等领域中相当热门的技术;J2SE 适用于一般的计算机;J2ME 适用于消费性电子产品。除了这三者之外,JavaCard 依然是独立的一套标准。随着应用领域的不同,Java 有许多 API(ApplicationProgrammingInterface),这些 API分成三大类:JavaCoreAPI:由 Sun 制定的基本 API,任何 Java 平台都必须提供。JavaStandardExtensionAPI(javax):由 Sun 制定的扩充 API,Java 平台可以选择性地提供或加装。厂商或组织所提供的 API:由各家公司或组织所提供。其中 CoreAPI 和 StandardExtensionAPI 已经逐渐涵盖了大部份的信息应用领域,例如多媒体、数据库、Web、企业运算、语音、实时系统、网络、电话、影像处理、加解密、GUI、分布式运算。如果你有某项需求尚未有标准的 JavaAPI 可遵循,你可以向 Sun 提出制定新 API 的请求。经过审核之后,你的要求可能会通过、驳回等。如果通过,就会开始进入制定API 的程序。JavaAPI 的制定过程因为公开,J2EE、J2SE、J2ME 及 CoreAPI 的关系见下图图 1.1 J2EE、J2SE、J2ME 及 CoreAPI 的关系且经过许多业界技术领先公司的共同参与,所以相当完善而优异。和 Java 标准相关的任何第一手资料,你都可以在 取得。1.1 DOS 环境 Java2SDKSUN 的 Java 不仅提了一个丰富的语言和运行环境,而且还提了一个免费的 Java 开发工具集(JDK) 。开发人员和最终用户可以利用这个工具来开发 java 程序。JDK 简单易学,可以通过任何文本编辑器(如: Windows 记事本、UltrEdit、Editplus 、FrontPage 以及 dreamweaver 等)编写 Java 源文件,然后在 DOS 状况下利通过 javac 命令将 Java 源程序编译成字节码,通过 Java 命令来执行编译后的 Java 文件,这能带给 DOS 时代程序员美好的回忆。Java 初学者一般都采用这种开发工具。从初学者角度来看,采用 JDK 开发 Java 程序能够很快理解程序中各部分代码之间的关系,有利于理解 Java 面向对象的设计思想。 JDK 的另一个显著特点是随着 Java (J2EE、J2SE以及 J2ME)版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级 Java 应用开发非常困难,不能进行复杂的 Java 软件开发,也不利于团体协同开发。1.1.1 建立 Java 开发环境(1) 下载 JavaJDK.本书将使用目前最新的版本 J2SE 的 Java2 J2SE 5.0(1.5.0)。可以通过 IE 或 NetScape 浏览器浏览网址:http:/J/j2se,根据提示可以下载支持 MicrosoftWindows 操作系统的 JAVA2SDK.exe 到本地硬盘或从 CD 复制到本地硬盘. 安装 JavaJDK.J2SE1.5.0 安装界面从硬盘中或从光盘(如 JAVAII 光盘)中运行 jdk-1_5_0-windows-i586.exe,根据提示可以选择安装文件夹如 D:jdk1.6.0,然后根据提示进行安装,如上图。安装完成后得到如下的文件和目录结构。(图 1.3) jdk1.6.0 的目录结构图 1.3 是 J2sdk1.6.0 的目录结构。配置 JavaSDK.Windows98/ME/XP:简单的方法就是选择开始运行sysedit,这会显示一个实用程序的界面。图 1.4 系统配置编辑器在这里可以设置环境变量.设置项目如下:修改 autocexe.bat 就是修改自动批处理文件。添加:set PATH=jdk 安装目录bin;%path%set CLASSPATH=.;jdk 安装目录lib如set PATH=D:jdk1.6.0bin;%path%;set CLASSPATH=.;D:jdk1.6.0jrelib;set JAVA_HOME=D:jdk1.6.0 /你安装 J2SE 的目录Windows2000 操作系统:打开系统设置,按 Winkey+Break 或右击“我的电脑”,选属性,选择高级-系统环境。同样设置以上的系统环境变量.设置完 JDK 路径后,任何地方皆可执行Java 原始程序代码。其他操作系统的安装和配置可以参考以上的系统环境变量进行配置。1.1.2 JDK 开发环境中常用工具介绍下面将介绍一些主要 Java 工具的使用,在 Java 环境中的 Java 工具列表如下所示:*appletviewer 小应用程序浏览器*java 解释器*javac 编译器*javah 头文件生成器*javadocAPI 文档生成器*javap 类文件反汇编器*jdb Java 语言调试器这些文件包括在 d:jdk1.6.0bin 目录中,并可以在任何目录中运行,前提是你在设置运行程序的系统中设置了路径。1. javac 编译器Javac 编译器读取 Java 源代码,并将其编译成字节代码,调用 Javac 的命令行如下:d:userjavac options filename.java表 1.1 部分选项选项 功能-classpathpath 此选项用于设定路径,在该路径上 Javac 寻找需被 调用的类。该路径是一个用分号分开的目录列表。-ddirectory 此选项指定一个根目录。该目录用来创建反映软件 包继承关系的目录数。-g 此选项在代码产生器中打开调试表,以后可凭此调 试产生字节代码。- 此选项告诉 javac 优化由内联的 static、final 以及 privite 成员函数所产生的代码。-verbose 此选项告知 Java 显示出有关被编译的源文件和任何 被调用类库的信息。例如 d:userjavac verbose JPrg.java将生产字节文件 JPrg.class。值得注意的是,和 Java 解释器不同,Javac 编译器期望它正在编译的文件具有扩展名.java。2. java 解释器Java 解释器可用来直接解释执行 Java 字节代码,具体命令行格式如下:C:java options className argumentsclassName 必须包括所有软件包信息。不仅有类名本身,还有 Java 解释器所期望的类名(不是 Java 字节代码的文件名),所有在解释器环境下运行的类都必须包括解释器第一次调用时所需的 main 成员函数,用以传递命令所带的变量。options 包括了 Java 解释器的所有选项,如:-classpathpath 此选项重写 CLASSPATH 环境变量,告诉 Java 在哪里能找到类库。如果其中用冒号分开,则可能包含多个目录等。3. appletviewer 小应用程序浏览器appletviewer 提供了一个 Java 运行环境,在其中可测试小应用程 Applet。appletviewer读取包含小应用程序的 HTML 文件并在一个窗口中运行它们。其他工具详见参考资料。12 小型集成视窗环境 JCreator 介绍JCreator 是一个 Java 程序开发工具,也是一个 Java 集成开发环境(IDE)。无论你是要开发 Java 应用程序或者网页上的 Applet 元件都难不倒它。在功能上与 Sun 公司所公布的 JDK等文字模式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无限 Undo/Redo等功能。JCreator 为用户提供了相当强大的功能,例如项目管理功能,项目模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器,向导功能以及完全可自定义的用户界面。通过 JCreator,我们不用激活主文档而直接编绎或运行我们的 JAVA 程序。JCreator 能自动找到包含主函数的文件或包含 Applet 的 Html 文件,然后它会运行适当的工具。在 JCreator 中,我们可以通过一个批处理同时编绎多个项目。JCreator 的设计接近Windows 界面风格,用户对它的界面比较熟悉。其最大特点是与我们机器中所装的 JDK 完美结合,是其它任何一款 IDE 所不能比拟的。它是一种初学者很容易上手的 Java 开发工具,缺点是只能进行简单的程序开发,不能进行企业 J2EE 的开发应用。图 1.5 集成的、可视化环境 JCreatorJCreator 依赖 JDK,它与 JDK 完美结合,是其它任何一款 IDE 所不能比拟的。他只有1.9M 左右,由于依赖 JDK. 须进行配置才能运行。该软件在这里只做简单介绍。下面一节介绍的 Eclipse 是我们实验使用的软件平台,也是我们所推荐使用的。13 大型集成开发环境 EclipseEclipse 是替代 IBM Visual Age for Java(以下简称 IVJ)的下一代 IDE 开发环境,但它未来的目标不仅仅是成为专门开发 Java 程序的 IDE 环境,根据 Eclipse 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,Eclipse 已经开始提供 C 语言开发的功能插件。更难能可贵的是,Eclipse 是一个开放源代码的项目,任何人都可以下载 Eclipse 的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在 Eclipse 之上的 COBOL,Perl,Python 等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如在现有的 Java 开发环境中加入 Tomcat 服务器插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是 Eclipse 的潜力所在。可以这样讲 Eclipse 是目前用过的最好的,最智能化的 Java 开发软件。它是 websphere 的基础. Eclipse 的最新版本是.x .附带有各种语言包中国的用户可以从 上面下载 eclipse的 SdK,和中文语言包,解压缩的同一个目录下,就可以了。例如把它们解压缩到 d:Eclipse3 目录下。该软件是一个绿色软件,如果日后象删除,就直接删除这个目录就可以了。在 d:eclipse3 目录下,运行eclipse.exe 文件就可以启动。进去后就是主界面, 如图 1.6。图 1.6 Eclipse 界面虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境( Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。下面举一个简单的例子,我们将创建并运行一个“Hello, world”应用程序。使用 Java 透视图,右键单击“Hello”项目,选择 New=Class,如下图 1.7 所示。在随后出现的对话框中,键入“Hello”作为类名称。在“Which method stubs would you like to create?”下面,选中“public static void main(String args)”复选框,然后按 Finish图 1.7 New Class 定义这样将在编辑器区域创建一个包含 Hello 类和空的 main() 方法的 .java 文件,如下图所示。然后向该方法添加如下代码(注意其中 i 的声明是有意省略了的):图 1.8 编辑 HelloWorld.java您会在键入时注意到 Eclipse 编辑器的一些特性,包括语法检查和代码自动完成。当您键入开括号或双引号时,Eclipse 会自动提供配对的符号,并将光标置于符号对之内。 在其他情况下,您可以通过按 Ctrl-Space 来调用代码自动完成功能。代码自动完成提供了上下文敏感的建议列表,您可通过键盘或鼠标来从列表中选择。这些建议可以是针对某个特定对象的方法列表,也可以是基于不同的关键字(比如 for 或 while)来展开的代码片断。语法检查依赖增量编译。每当您保存代码,它就在后台接受编译和语法检查。默认情况下,语法错误将以红色下划线显示,一个带白 “X” 的红点将出现在左边沿。其他错误在编辑器的左边沿通过灯泡状的图标来指示;这些就是编辑器或许能为您修复的问题即所谓的 Quick Fix(快速修复)特性。上面的代码例子在 for 语句后面有一个灯泡状图标,因为 i 的声明被省略了。双击该图标将调出建议的修复列表。在此例中,它将提供创建一个类字段 i、一个局部变量 i 或一个方法参数 i 的建议;单击其中的每一个建议都会显示将要生成的代码。图 4 显示了该建议列表和建议创建一个局部变量之后生成的代码。图 1.9 编辑 HelloWorld.java双击该建议就会把建议代码插入到代码中的恰当位置。 一旦代码无错误地编译完成,您就能够从 Eclipse 菜单上选择 Run 来执行该程序(注意这里不存在单独的编译步骤,因为编译是在您保存代码时进行的。如果代码没有语法错误,它就可以运行了)。这时会出现一个具有适当默认设置的 Launch Configurations 对话框;请按右上角的 Run 按钮。一个新的选项卡式窗格将出现在下面的窗格(控制台)中,其中显示了程序的输出,如图 1.10 所示。图 1.10 运行 HelloWorld也可以在 Java 调试器中运行程序。首先双击编辑器视图左端的灰色边沿,从而在调用 System.out.println() 之后的 main() System.out.println() 中设置一个断点。一个蓝色的点将会出现在那里。然后从 Run 菜单上选择 Debug。正如上面描述的,这时会出现一个 Launch Configurations 对话框。请选择 Run。透视图将自动切换到 Debug 透视图,其中具有许多有趣的新视图,如图 1.11 所示:图 1.11 运行 Debug首先,请注意该透视图左上角的 Debug 视图。这个视图显示调用堆栈,并且标题栏中有一个工具栏,它允许您控制程序的执行,包括继续、挂起或终止程序、跟踪下一个语句、单步执行下一个语句,或者从方法返回。右上角的窗格包含许多选项卡式的视图,包括 Variables、Breakpoints、Expressions 和 Display。这里我单击了 Variables 视图,以便我们能够看到 i 的当前值。可以通过上下文敏感的帮助,获得关于这些视图的更多信息:单击视图的标题,然后按 F11.4 Java 程序举例Java 程序分成两类,即 Application(应用程序)和 Applet(小程序)。应用程序在计算机中单独运行,而小程序只能嵌在 HTML 网页中运行。这需要一些网页知识。1.4.1 简单的 Java 应用程序下面我们先介绍简单的 Java 程序,并对其进行分析。例 1-1 文件 HelloWorldApp.java 如下:/ HelloWorldApp.javapublic class HelloWorldApp /anapplicationpublic static void main(String args)System.out.println(Hello World!);本程序的作用是输出下面一行信息:Hello World!程序中,首先用保留字 class 来声明一个新的类,其类名为 HelloWorldApp,它是一个公共类(public)。整个类定义由大括号 括起来。在该类中定义了一个 main()方法,其中 public表示访问权限,指明所有的类都可以使用这一方法;static 指明该方法是一个类方法,它可以通过类名直接调用;void 则指明 main()方法不返回任何值。对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。Java 解释器在没有生成任何实例的情况下,以main()作为入口来执行程序。Java 程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有有一个公共类,main()方法也只能有一个,作为程序的入口。main()方法定义中的,括号()中的 String args是传递给 main()方法的参数,参数名为 args,它是类 String 的一个实例,参数可以为 0 个或多个,每个参数用“类名参数名”来指定,多个参数间用逗号分隔。在 main()方法的实现(大括号中),只有一条语句:System.out.println(Hello World!);它用来实现字符串的输出,这条语句实现与 C 语言中的 printf 语句和 C+中 coutjavac HelloWorldApp.java编译的结果是生成字节码文件 HelloWorldApp.class。最后用 java 解释器来运行该字节码文件:d:userchap01java HelloWorldApp结果在屏幕上显示 HelloWorld!Java 程序中有三种插入注释的允许风格:/ comment on one line/* comment on one or more line */* documenting comment */紧放在声明(变量、方法或类的声明)之前的文档注释表明,注释应该被放在自动生成的文档中(由 javadoc 命令生成的 HTML 文件)以当作对声明项的描述。1.4.2 简单的 Applet 小程序例 1-2 / HelloWorldApplet.javaimport java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet /anappletpublic void paint(Graphics g)g.drawString(Hello World in Applet!,20,20);这是一个简单的 Applet(小应用程序)。程序中,首先用 import 语句输入 java.awt 和java.applet 下所有的包,使得该程序可能使用这些包中所定义的类,它类似于 C 中的#include 语句。然后声明一个公共类 HelloWorldApplet,用 extends 指明它是 Applet 的子类。在类中,我们重写父类 Applet 的 paint()方法,其中参数 g 为 Graphics 类,它表明当前作画的上下文。在 paint()方法中,调用 g 的方法 drawString(),在坐标(20,20)处输出字符串“HelloWorld!”,其中坐标是用象素点来表示的。这个程序中没有实现 main()方法,这是 Applet 与应用程序 Application(如上例)的区别之一。为了运行该程序,首先我们也要把它放在文件 HelloWorldApplet.java 中,然后对它进行编译:d:userchap01javac HelloWorldApplet.java得到字节码文件 HelloWorldApplet.class。由于 Applet 中没有 main()方法作为 Java 解释器的入口,我们必须编写 HTML 文件,把该 Applet 嵌入其中,然后用 appletviewer 来运行,或在支持 Java 的浏览器上运行,如 IE。它的文件如下:An Applet其中用标记来启动 HelloWorldApplet.code 指明字节码所在的文件,width 和height 指明 applet 所占的大小,我们把这个 HTML 文件存入 Example.html,然后运行:d:userchap01appletviewer Example.html这时屏幕上弹出一个窗口,其中显示 Hello World in Applet!。或在 IE 浏览器中运行(FileOpenBrowseExample.htmlOk)。从上述例子中可以看出,Java 程序是由类构成的,对于一个应用程序来说,必须有一个类中定义 main()方法,而对 applet 来说,它必须作为 Applet 的一个子类。在类的定义中,应包含类变量的声明和类中方法的实现。Java 在基本数据类型、运算符、表达式、控制语句等方面与 C、C+基本上是相同的,但它同时也增加了一些新的内容,在以后的各章中,我们会详细介绍。本节中,只是使大家对 Java 程序有一个初步的了解。第二部分 Java 程序设计实验项目实验一 熟悉 Java 程序开发环境一、实验目的1了解和使用 J2sdk1.6.0(JDK)集成环境;2熟悉 J2sdk 集成环境的基本命令、功能和基本用法。并学会配置 path 等环境变量;3学习并熟练掌握使用 J2SDK 环境进 Java 程序开发的全过程(包括:源程序的编辑、编译、调试、运行和结果查看);4了解和掌握 JCREATOR 集成环境的安装,简单应用;5了解 Java Application 和 Applet 程序的基本结构;6了解 Java 程序文件名和类名的说明方法。二、实验内容与要求1. 安装 Jdk1.6.0 集成环境,安装成功后,配置 path,classpath 路径,让用户在任何目录下均可用到 Java 的系统资源。设置环境变量 PATH 和 CLASSPATH(如果在 autoexec.bat 中没有进行设置)。进入命令行(MS-DOS)方式,进行如下设置:SET PATH=D:JDK1.6.0BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%2. 安装 Jdk 1.6.0 Doc, 并查看 Jdk 1.6.0 Doc 文档中,和课堂教学有关系的部分。在整个实验过程中都可以参考。3. 建立自己的工作目录如 d:user。以后的 Java 程序和过程文件均放置在此目录下。4. 输入一个 Application 源程序,学习编辑、编译、运行程序的方法。/例 1-1 文件 HelloWorldApp.java 如下:/ HelloWorldApp.javapublic class HelloWorldApp public static void main(String args)System.out.println(Hello World!);本程序的作用是输出下面一行信息:Hello World!现在我们可以运行该程序。首先把它放到一个名为 HelloWorldApp.java 的文件中,这里,这文件名应和类名相同,因为 Java 解释器要求公共类必须放在与其同名的文件中。然后对它进行编译:d:userjavac HelloWorldApp.java编译的结果是生成字节码文件 HelloWorldApp.class。最后用 java 解释器来运行该字节码文件:d:userjava HelloWorldApp结果在屏幕上显示 HelloWorld!5. 输入一个 applet 源程序,学习编辑、编译、运行程序的方法。简单的 Applet 小程序例 1-2 / HelloWorldApplet.javaimport java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet /anappletpublic void paint(Graphics g)g.drawString(Hello World in Applet!,20,20);这个程序中没有实现 main()方法,这是 Applet 与应用程序 Application(如上例)的区别之一。为了运行该程序,首先我们也要把它放在文件 HelloWorldApplet.java 中,然后对它进行编译:d:userjavac HelloWorldApplet.java得到字节码文件 HelloWorldApplet.class。由于 Applet 中没有 main()方法作为 Java 解释器的入口,我们必须编写 HTML 文件,把该 Applet 嵌入其中,然后用 appletviewer 来运行,或在支持 Java 的浏览器上运行,如 IE。它的文件如下:An Applet其中用标记来启动 HelloWorldApplet.code 指明字节码所在的文件,width 和 height指明 applet 所占的大小,把这个 HTML 文件存入 Example.html,然后运行:d:userappletviewer Example.html这时屏幕上弹出一个窗口,其中显示 Hello World in Applet!。6安装 JCREATOR 软件,并配置 JCREATOR,在 JCREATOR 中用建立工程的方式重新运行上面的 4、5 小题。三、思考题1什么是 Java 虚拟机?它的作用是什么?2Java Application 程序与 Java Applet 程序的不同之处有那些?请各位同学收集错误代码与提示信息,以及产生错误的原因。3列举出 5 种以上 Java 开发平台,分析他们的优缺点或特点。四、实验报告1、实验完成后,检查是否达到试验目的。2、编写实验报告(打印或手写均可),在下一次上实验课时提交。3、评出成绩,按五级(A,B,C,D、E)评分。实验二 Java 基本数据类型及运算一、实验目的1. 理解 Java 语言的基本数据类型的概念和数据类型之间的转换;2. 掌握常量、变量和各种表达式的用法;3. 掌握各种运算符的优先级;4. 学会编写简单的 Java 程序。5把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题.二、实验内容与要求(一)实验要求1. 体会自动类型转换和强制类型转换用法;2. 给出算术表达式、关系表达式及布尔表达式的值,体会运算符的优先级;3. 利用三目运算符进行编程;4. 进行简单 Java 编程,能够根据给出的三个变量值进行求和及平均;5. 进行简单 Java 编程,能够根据圆的半径计算出圆的周长及面积。(二)实验内容1. 给出下面程序运行结果,注意掌握自动类型转换和强制类型转换的用法。/ 定 义 变 量char c = a;byte b = 10;int i = 100;long l = 1000l;float f = 2.72f;double d = 3.14159;/ 自 动 类 型 转 换int ii = c + i;long ll = l - ii;float ff = f * b;double dd = ff / i + d;/ 强 制 类 型 转 换byte bb = (byte)i;int iii = (int)ll;/ 显 示System.out.println(“ii=“ + ii + “, ll=“ + ll + “, ff=“ + ff + “, dd=“ + dd);System.out.println(“bb=“ + bb + “, iii=“ + iii);根据运行结果,请问:(1)哪些变量用到了自动类型转换,哪些用到了强制类型转换?(2)强制类型转换可能会产生什么样的问题?(3)变量 dd 的结果和你预期的结果有什么样的偏差,为什么?2. 给出下面程序的运行结果。int a = 20, b = 3, c =4, d = 5;int value1,value2,value3;value1 = a + b+;value2 = a + +c;value3 = a+ + d;System.out.println(“value1=“ + value1+ “, value2=“ + value2+ “, value3=“ + value3);boolean x,y;x = !(cd) | b*ca y = c=d System.out.println(“x=“ + x + “, y=“ + y);根据运行结果,请问:(1)上面程序用到哪些运算符,其优先级如何?(2) “+”运算符放到变量之后和之前有什么区别?(3) “a+ +b”、 “a+b”和“a+ +b”一样吗,为什么?3. 用条件运算符编写 Java 程序,取两数之中较大的数及较小的数,已知两个数为 10 和5。4. 已知某学生三科考试成绩分别为 87、92 和 75 分,试求此学生考试成绩总和及平均分,要求平均分保留 2 位小数。5. 计算半径为 10 的圆面积和周长。注意, 的值使用 Java 中的 Math.PI。三、思考题1定义变量的作用是什么?2Java 运算符的优先级与结合性是怎样的?3public class Main public static void main(String args) int nowYear = 2009;int nowMonth = 3;if (args.length0)nowYear = Integer.parseInt(args0);if (args.length1)nowMonth = Integer.parseInt(args1);Question3_2 questionInstance = new Question3_2();System.out.println(nowYear + “年 “ + nowMonth + “月 有 “+ questionInstance.run(nowYear,nowMonth) + “天 “);/* Question3_2.java */package experiment3;public class Question3_2 public int run(int year, int month) int days = -1;switch (month) case 1:case 3:case 5:case 7:case 8:case 10:case 12:days = 31;break;case 4:case 6:case 9:case 11:days = 30;break;case 2:if (year % 400 = 0 | (year % 4 = 0 elsedays = 28;return days;3. 给出下面程序的运行结果和实现的功能。System.out.println(“输 出 以 下 数 : “);for (int i=100; i1000; i+) int a,b,c;a = i / 100;b = i / 10 % 10;c = i % 10;if (a*a*a+b*b*b+c*c*c=i)System.out.println(i);4. 编写 Java 程序,求 1000 以内(包括 1000)能被 3 整除或被 5 整除的所有整数之和。5. 编写 Java 程序,给出九九乘法表。三、实验报告1、实验完成后,检查是否达到试验目的。2、编写实验报告(打印或手写均可),在下一次上实验课时提交。3、评出成绩,按五级(A,B,C,D、E)评分。实验四 面向对象程序设计初步一、实验目的1. 掌握根类 Object 的使用方法;2. 掌握类描述类 Class 的使用方法;3. 掌握系统类 System 的使用方法;4. 掌握算术运算类 Math 的使用方法;5. 掌握 String 类和 StringBuffer 类的使用方法;6. 掌握日期类 Date 和日历类 Calendar 的使用方法。二、实验内容与要求(一)实验要求1. 学会利用 String 类分析和编写程序;2. 理解 StringBuffer 类的用法;3. 学会分析 Date 类和 Calendar 类程序;4. 体会 System 类的使用方法;5. 学会利用 Math 类进行编程。(二)实验内容1. 分析运行下面程序并给出程序结果,体会 String 类的用法。package experiment10;public class Question10_3 public void run()String s1 = “Hello “;String s2 = “World!“;System.out.println(“字 符 串 1 长 : “ + s1.length();System.out.println(“字 符 串 2 长 : “ + s2.length();System.out.println(s1.concat(s2);/连 接 字 符 串String s3 = “Welcome “;String s4 = “to java!“;String s5 = s3 + s4;System.out.println(s5);String s6 = “Nice to meet you.“;String s7 = “Nice to meet you.“;String s8 = new String(“You are very nice. “);String s9 = new String(“You are very nice. “);boolean c,d,e,f;c = s6 = s7;/s6 和 s7 指 向 内 存 中 同 一 个 存 储 空 间d = s6.equals(s7);e = s8 = s9;/s8 和 s9 是 两 个 不 同 的 对 象 , 在 内 存 中 占 用 两 个 不 同 的 存 储 空 间 , 他 们 用“=”比 较 时 , 两 者 的 值 不 相 等 ;f = s8.equals(s9);/equal 方 法 比 较 的 是 两 个 变 量 的 值 ;System.out.println(c + “ “ + d);System.out.println(e + “ “ + f);int i,j;i = pareTo(s7);j = pareTo(s9);System.out.println(i + “ “ + j); 2. 分析运行下面程序并给出程序结果,回答下面问题。package experiment10;import java.util.*;public class Question10_5 public void run() GregorianCalendar cal = new GregorianCalendar();Date rightNow = cal.getTime();System.out.println(“The current time and date: “ + rightNow);问题:(1)第二条语句含义是什么?(2)程序功能是什么?给出程序运行结果。(3)体会 Date 类和 Calendar 类的用法。3. 分析运行下面程序并给出程序结果,体会 System 类的使用方法。package experiment10;public class Question10_1 public void run() System.out.println(“file.separator is set to “ + System.getProperty(“file.separator“);System.out.println(“java.class.path is set to “ + System.getProperty(“java.class.path“);System.out.println(“java.class.version is set to “ + System.getProperty(“java.class.version“);System.out.println(“java.home is set to “ + System.getProperty(“java.home“);System.out.println(“java.vendor is set to “ + System.getProperty(“java.vendor“);System.out.println(“java.vendor.url is set to “ + System.getProperty(“java.vendor.url“);System.out.println(“java.version is set to “ + System.getProperty(“java.version“);System.out.println(System.getProperties();4. 编程程序,产生 10 个 3 位随机整数,并分两行打印输出到屏幕。三、实验报告1、实验完成后,检查是否达到试验目的。2、编写实验报告(打印或手写均可),在下一次上实验课时提交。3、评出成绩,按五级(A,B,C,D、E)评分。实验五 类与对象的设计一、实验目的1. 掌握类的声明和定义;2. 理解有静态成员和非静态成员变量的区别;3. 理解基本参数和引用参数的区别;4. 掌握类构造函数的方法;5. 实现类的方法;6. 掌握创建类实例的方法;7. 学会定义和使用具有重载方法的继承类;8. 掌握方法的重新定义。二、实验任务与要求(一)实验要求1. 理解类的构造、方法及实例化的使用;2. 学会对类的创建,构造函数的使用,类属性及方法的创建,以及类的实例化及使用;3. 会对类的创建,类的属性及方法的创建进行独立编程;4. 学会对较复杂的类进行分析;(二)实验任务1. 分析类的用法,并运行下面程序,给出程序运行结果。package experiment5;class Num int x,y,z,sum;Num(int i, int j, int k) x = i;y = j;z = k;sum = x + y + z;boolean isSameNum(Num a) if (a.x=x elsereturn false;boolean isSameSum(Num b) if (b.sum=sum)return true;elsereturn false;public class Question5_1 public void run() Num a = new Num(3,6,9);Num b = new Num(3,6,9);Num c = new Num(6,9,3);System.out.println(a.isSameNum(b);System.out.println(b.isSameNum(c);System.out.println(a.isSameSum(b);System.out.println(b.isSameSum(c);2. 设计一个 Dog 类,属性有名称、颜色、重量和年龄,定义两个构造方法,定义 toString()。声明两个方法:狗叫和狗咬。然后实例化两个 Dog,分别让它们叫和咬。3 创建学生类 Student 来完成下面问题。(1)创建类 Student,包括属性学号 no、姓名 name 和年龄 age,且都是 private 类型;(2)声明一个构造方法,以初始化对象的所有的域;(3)声明获得各属性(学号、姓名和年龄)的各个方法;(4)声明设置各属性(学号、姓名和年龄)的各个方法;(5)声明一个 public 型的 toString 方法,将该类所有域信息组合成一个字符串;(6)声明统计创建 Student 对象的个数的成员变量 count 和得到 Student 对象的个数的方法。在主类中使用 Student 类创建两个 Student 对象,输出对象所有域

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论