Java+2实用教程(第4版)实验指导与习题解答 - IT168文库 联系客服

发布时间 : 星期一 文章Java+2实用教程(第4版)实验指导与习题解答 - IT168文库更新完毕开始阅读9603b1cd2b160b4e767fcfd9

上机实践1

初识Java

实验1 一个简单的应用程序

1.相关知识点

Java语言的出现是源于对独立于平台语言的需要,即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况。目前,随着网络的迅速发展,Java语言的优势越发明显,Java已经成为网络时代最重要的语言之一。

Sun公司要实现“编写一次,到处运行”(Write once,run anywhere)的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。

(1)Java SE:称为Java标准版或Java 标准平台。Java SE 提供了标准的JDK开发平台。利用该平台可以开发 Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。当前成熟的新的JDK版本为JDK 1.6。

(2)Java EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务应用,Java EE平台包含了Java SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。

(3)Java ME:称为Java微型版或Java小型平台。Java ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。

无论上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine),虚拟机负责将字节码文件(包括程序使用的类库中的字节码)加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令翻译一句执行一句。J2SE平台是学习掌握Java语言的最佳平台,而掌握J2SE又是进一步学习J2EE和J2ME所必需的。

2.实验目的

本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。

3.实验要求

编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,欢迎学习Java”和“We are students”。

4.程序效果示例

程序运行效果如图1.1所示。 5.程序模板

图1.1 简单的应用程序

请按模板要求,将【代码】替换为Java程序代码。 Hello.java

public class Hello {

public static void main (String args[]) {

【代码1】 //命令行窗口输出\你好,欢迎学习Java\ A a=new A(); a.fA(); } }

class A {

void fA() {

【代码2】 //命令行窗口输出\ } }

6.实验指导

? 打开一个文本编辑器。如果是Windows操作系统,打开“记事本”编辑器。可以

通过“程序”→“附件”→“记事本”来打开文本编辑器;如果是其他操作系统,请在指导老师的帮助下打开一个纯文本编辑器。 ? 按照“程序模板”的要求编辑输入源程序。

? 保存源文件,并命名为Hello.java。要求将源文件保存到C盘的某个文件夹中,例

如C:\\1000。

? 编译源文件。打开命令行窗口,对于Windows操作系统,打开MS-DOS窗口。如

Windows 2000/XP操作系统,可以通过单击“开始”,选择“程序”→“附件”→“命令提示符”打开命令行窗口,也可以单击“开始”,选择“运行”,弹出“运行”对话框,在对话框的输入命令栏中输入cmd打开命令行窗口。如果目前MS-DOS窗口显示的逻辑符是“D:\\”,请输入“C:”按Enter键确认,使得当前MS-DOS窗口的状态是“C:\\”。如果目前MS-DOS窗口的状态是C盘符的某个子目录,请输入“cd\\”,使得前MS-DOS窗口的状态是“C:\\”。当MS-DOS窗口的状态是“C:\\”时,输入进入文件夹目录的命令,例如,“CD 1000”。然后执行下列编译命令:

C:\\1000> javac Hello.java

初学者在这一步可能会遇到下列错误提示。

? Command not Fond 出现该错误的原因是没有设置好系统变量Path,可参见教材1.3节。

? File not Fond 出现该错误的原因是没有将源文件保存在当前目录中,例如C:\\1000,或源文件的名字不符合有关规定,例如,错误地将源文件命名为“hello.java”或“Hello.java.txt”,要特别注意:Java语言的标识符号是区分大小写的。 ? 出现一些语法错误提示,例如,在汉语输入状态下输入了程序中需要的语句符号等。Java源程序中语句所涉及的小括号及标点符号都是英文状态下输入的,比如\你好,欢迎学习Java\中的引号必须是英文状态下的引号,而字符串里面3 上 机 实 践 1 初识Java Java 2实用教程(第4版)实验指导与习题解答 的符号不受汉语或英语的限制。 ? 运行程序 C:\\1000> java Hello 4 初学者在这一步可能会遇到下列错误提示。

Exception in thread “main”java.lang.NoClassFondError 出现该错误的原因是没有设置好系统变量ClassPath,可参见教材1.3节,或运行的不是主类的名字或程序没有主类。

7.实验后的练习

(1)编译器怎样提示丢失大括号的错误。 (2)编译器怎样提示语句丢失分号的错误。

(3)编译器怎样提示将System写成system这一错误。 (4)编译器怎样提示将String写成string这一错误。 8.填写实验报告

实验编号:101 学生姓名: 实验时间: 教师签字:

实验效果评价 模板完成情况 实验后练习效果评价 练习(1)完成情况 练习(2)完成情况 练习(3)完成情况 练习(4)完成情况 总评 A B C D E A B C D E 实验2 联 合 编 译

1.相关知识点

Java程序的基本结构就是类,有时源文件可以只有一个类,编译这个源文件将得到这个类的字节码文件。字节码文件在程序运行时动态地加载到内存,然后再由Java虚拟机解释执行,因此,可以事先单独编译一个应用的程序所需要的其他源文件,将得到的字节码文件和应用程序存放在同一目录中。如果应用程序的源文件和其他的源文件在同一目录中,也可以只编译应用程序源文件,Java系统会自动地先编译应用程序需要的其他源文件。 2.实验目的

本实验的目的是学习同时编译多个Java源文件。 3.实验要求

MainClass.java、A.java、B.java和C.java,编写4个源文件:

每个源文件只有一个类。MainClass.java含有应用程序的主类(含有main()方法),并使用了A、B和C类。将4个源文件保存到同一目录中,例如C:\\1000,然后编译MainClass.java。

4.程序效果示例

图1.2 只编译主类

程序运行效果如图1.2所示。 5.程序模板

请按模板要求,将【代码】替换为Java程序代码。 MainClass.java

public class MainClass {

public static void main (String args[]) { 【代码1】 //命令行窗口输出\你好,只需编译我\ A a = new A(); a.fA();

B b = new B(); b.fB(); } }

A.java

public class A { void fA() {

【代码2】 //命令行窗口输出\ } }

B.java

public class B {

void fB() {

【代码3】 //命令行窗口输出\ } }

C.java

public class C { void fC() {

【代码4】 //命令行窗口输出\ } }

6.实验指导

? 编译Hello.java的过程中,Java系统会自动地先编译A.java、B.java但不编译C.java。

因为应用程序并没有使用C.java源文件产生的字节码类文件。编译通过后,C:\\1000中将会有Hello.class、A.class和B.class三个字节码文件。 ? 当运行上述Java应用程序时,虚拟机仅仅将Hello.class和A.class、B.class加载到内存,即使单独事先编译C.java得到C.class字节码文件,该字节码文件也不会加5 上 机 实 践 1 初识Java