I《Java程序设计》实验指导书淮北师范大学数学科学学院II《Java程序设计语言》实验教学大纲一、实验教学目的和要求《JAVA程序设计语言》是一门实践性很强的专业课程。通过上机实验,不仅可以帮助学生较好地掌握Java语言和面向对象程序设计的基本概念、基本方法和技巧,同时也可培养学生独立设计程序的能力,理解面向对象的编程思想。实验教学目的:1.使学生通过实验,验证书本和课堂教学内容:逐步理解、体会、消化、巩固和补充课堂所学主要内容;2.培养学生设计与动手能力:通过设计性的实验任务,通过实践环节理解Java语言的基本结构和程序设计方法。通过亲手编程掌握Java语言编程的方法,从而提高学生的分析问题、解决问题的能力和动手能力。通过实验,要求学生应达到以下实验能力与标准:1.熟练掌握Java程序的编辑、编译、运行步骤及程序调试的方法;2.熟练运用Java语言进行面向对象程序设计;3.深入理解面向对象的封装、继承和多态等特性4.利用Java语言进行异常处理5.能利用Java语言进行磁盘数据文件的建立及读写操作编程。二、主要仪器设备(所开实验的主要仪器设备)每个学生上机使用一台PC机进行程序开发,PC机的硬件、软件环境如下:1)硬件:CPUP43.0GHZ256M内存,80G硬盘空间。2)软件:操作系统:WindowsXP开发工具:Editplus或者eclipseIII三、实验项目名称和学时分配序号实验项目名称学时分配实验属性实验类型实验者类别必开/选开1熟悉Java程序的编辑、编译和运行环境2专业类验证性本科生必开2初步的面向对象的程序设计2专业类验证性本科生必开3面向对象程序设计的继承、多态等特性的练习2专业类设计性本科生必开4异常类的定义及处理2专业类验证性本科生必开5文件的读/写操作2专业类验证性本科生必开四、实验课考核方式1.实验报告:1)在报告中重点给出调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);2)根据思考题要求,重点描述需求分析、概要设计和详细设计过程,并提交包含详细注释的源程序清单,最后详细描述程序调试分析过程。2.考核方式2.1实验课成绩根据学生的实验预习、实验纪律、实验动手能力、实验结果和实验报告等几个部分进行综合评定,并给出优、良、中、及格和不及格共五档成绩。2.2实验课成绩占课程总成绩的30%。IV目录实验一熟悉Java程序的编辑、编译和运行环境.......1实验二初步的面向对象的程序设计练习.............6实验三面向对象程序设计的继承、多态等特性的练习10实验四异常类的定义及处理.....................14实验五流、文件及基于文本的应用...............18《Java程序设计实验指导书》1实验一熟悉Java程序的编辑、编译和运行环境一、实验目的1)掌握设置Java程序运行环境的方法,并熟悉Java程序的集成开发工具。2)掌握编写、编译、运行简单的JavaApplication和JavaApplet程序的方法步骤,初步了解java程序的特点和基本结构。3)掌握Java基本数据类型、运算符与表达式。4)理解Java程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。二、实验内容1)安装和配置JDK软件开发包。2)编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序,使之能够输出字符串信息“HelloWorld!”。3)编写一个JavaApplet,使之能够在浏览器中显示“welcometoJavaAppletWorld”的字符串信息。三、实验原理1)Javaapplication和Javaapplet程序java程序可以分为两类:javaapplication和javaapplet。前者是完整的应用程序,需要独立的解释器来解释运行;后者则是嵌在网页中的非独立程序,由浏览器所自带的java解释器来解释运行。2)Java程序开发调试过程。《Java程序设计实验指导书》23)JavaApplication程序的编辑、编译和运行步骤(1)在编辑器中输入源程序,文件名与公共类相同,文件后缀为.java(如HelloWorldApp.java),并将其保存到工作目录(如e:\java目录)。(2)编译源程序e:\javaC:\ProgramFiles\Java\jdk1.6.0_01\bin\javac-d.HelloWorldApp.java若编译通过,在e:\java目录下会生成一个HelloWorldApp.class文件(3)程序的运行运行包含main方法的主类所编译生成的字节码文件,不用加.class后缀e:\javaC:\ProgramFiles\Java\jdk1.6.0_01\bin\java–classpath.HelloWorldApp4)JavaApplet程序的编辑、编译和运行步骤(1)在编辑器中输入源程序,将其保存为与公共类同名的java文件。(2)编译源程序并生成一个和源文件同名且后缀为class的字节码文件。(3)生成一个Html文件,并在其中的Applet/Applet标记中嵌入Applet字节码文件。APPLET标记中必须包含三个参数:CODE:指明嵌入Html文件中的JavaApplet字节码文件的文件名HEIGHT:指明JavaApplet程序在Html文件所对应的Web页面中占用区域的高度。WIDTH:指明JavaApplet程序在Html文件所对应的Web页面中占用区域的宽度。JavaApplication程序名.javaJava编译器字节码文件与平台无关.classJavaApplet由Web浏览器自带的Java解释器执行由独立的java解释器执行图1.1Java程序开发流程《Java程序设计实验指导书》3(4)用支持Java的浏览器打开Html文件,就能看到Applet程序的运行效果。另外JDK中还提供了一个AppletViewer工具,也可用来浏览Html中的Applet。四、实验步骤1)编写一个JavaApplication,利用JDK软件包中的工具编译并运行这个程序。步骤(1):编写、编译Java源程序。打开Jcreator编辑器,新建一个java文件,键入如下程序代码:publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println(Hello,World!);}}将文件命名为Hello.java,注意保存文件Hello.java到路径“e:\java\program\”下。步骤(2):编译Java源程序Java源程序编写后,要使用Java编译器(javac.exe)将Java源程序编译成字节码文件。Java源程序都是扩展名为.java的文本文件。编译时首先读入Java源程序,然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成可执行程序代码即字节码,字节码文件名和源文件名相同,扩展名为.class。打开命令提示符窗口(MS-DOS窗口)进入Java源程序所在路径e:\java\program。键入编译器文件名和要编译的源程序文件名,具体如下:javac-dclassHello.java按回车键开始编译(注意:文件名H要大写,否则运行会出问题)。如果源程序没有错误,则屏幕上没有输出,键入“dir”按回车键后可在当前目录中看到生成了class子目录,在class子目录下有一个同名字的.class文件即“Hello.class”。否则,将显示出错信息。步骤(3):运行Java程序使用Java解释器(java.exe)可将编译后的字节码文件Hello.class解释为本地计算机代码。在命令提示符窗口或MS-DOS窗口键入解释器文件名和要解释的字节码文件名:java–classpathe:\java\program\classHello或者javaHello,按回车键即开始解释并可看到运行结果。《Java程序设计实验指导书》43)编写一个JavaApplet,使之能够在浏览器中显示“welcometoJavaAppletWorld”的字符串信息。步骤(1):编写HelloWorldApplet.java程序文件,源代码如下。importjava.applet.*importjava.awt.*publicclassHelloWorldAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(“welcometoJavaAppletWorld,40,20);}}步骤(2):保存文件为e:\java\program\HelloWorldApplet.java。编译该文件,生成HelloWorldApplet.class字节码文件。步骤(3):编写显示HelloWorldApplet.calss的页面文件HelloWorld.html,代码如下。htmlappletcodebase=e:/java/program/classcode=HelloWorldApplet.calsswidth=300height=120/applet/html步骤(4):在提示符窗口调用小程序查看器浏览HelloWorld.html页面,观察Applet应用程序。五、思考题1)编程实现:产生一个20个整数存放到数组中,然后对其按照升序进行排序,最后对排序前后的数组按照每5个数的方式输出。2)编程实现:产生一个1-12之间的随机整数,并根据该随机整数的值,输出对应月份的英文名称。提示:产生0-1之间的随机数方法一:Math.random()产生一个随机整数方法二:《Java程序设计实验指导书》5importjava.util.*……Randomr=newRandom();Math.abs(r.nextInt())《Java程序设计实验指导书》6实验二初步的面向对象的程序设计练习一、实验目的1)掌握类和构造方法的定义。2)掌握创建类实例的方法。3)初步掌握面向对象的编程思想二、实验内容1)编写程序实现如下功能:已知学生类有属性(学号、班号、姓名、性别、年龄)和方法(获得学号、获得班号、获得性别、获得年龄、修改年龄,显示基本信息),定义一组学生对象,并初始化他们的基本信息,然后依次输出。2)编写程序实现如下功能:已知学生类有属性(姓名、考号、综合成绩、体育成绩)和方法(获取综合成绩、获取体育成绩、显示基本信息),学校类有静态变量(录取分数线)和方法(设置录取分数、获取录取分数线),录取类有方法(获取学生是否符合录取条件,其中录取条件为综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分)。现要求编写程序输出一组学生对象中被某学校录取的学生基本信息。三、实验原理1)类、域、方法类体中包括属性和方法,都是类的成员。一个类可以定义多个域和方法。(1)是类的静态属性,也称为变量、成员变量等,格式为:类型名属性名;在定义属性前,还可以加修饰符。(2)方法是类的动态属性。Java的方法与其它语言中的函数类似。由方法头和方法体组成:修饰符1……返回类型方法名(形参列表)throws异常列表{方法体语句;}其中,形参列表格式为:《Java程序设计实验指导书》7形参类型形参名1,形参类型形参名22)类和对象(1)类(class):抽象的集合概念。类包括系统类库中已定义好的类和用户自定义的类(2)对象(实例instance):实际个体。创建某个类的具体对象(类似变量声明),具体定义格式为:类名对象变量=new类名([参数]);(3)构造方法:构造方法的名字与类名相同。创建对象时自动调用,并对对象进行初始化操作。注意:构造方法前面没有返回类型定义,它没有返回值,也不是void。[不能return];JAVA每个类都至少有一个构造方法[系