




免费预览已结束,剩余26页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
燕山大学经济管理学院JAVA程序设计语言实验指导书经济管理学院电子商务系2010年8月实 验 说 明JAVA程序设计语言Java语言是一种完全面向对象的计算机程序设计语言,它具有“一次编写,到处运行”的跨平台特性。该课程作为电子商务专业的一门专业课,主要介绍JAVA程序设计语言的基本知识,为日后学生进一步学习J2ME或J2EE打下牢固的程序设计语言基础。实验课是JAVA程序设计语言的重要实践环节。通过实验,使学生加深理解、验证、巩固课堂教学内容,加深对JAVA程序设计的过程、方法的理解,发挥学生的想象力和创新能力。本实验课程共开设5个实验项目。实验方式与基本要求:学生须在实验前预习相应实验内容,熟悉实验的基本原理、方法及要求、制定好上机步骤,弄清实验目的;实验每次均为2学时,学生须按时到场;要求学生掌握程序设计的各种基本方法与步骤,并在实验中得到提高。 考核及报告:实验时立将各种问题与结果记录下来,实验内容可以通过截图等方式存入U盘,并在课后完成实验报告内容; 任课教师对每次记录都要进行检查、分析、登记; 课程总成绩应为理论考核、实验成绩的综合;其中实验课程成绩占30%,理论课成绩占70。实验一 熟悉Java程序开发环境一、实验目的(1) 了解和使用J2sdk1.5.0(JDK)集成环境。(2) 熟悉J2sdk集成环境的基本命令、功能和基本用法。并学会配置path 等环境变量(3) 学习并熟练掌握使用J2SDK环境进Java程序开发的全过程(包括:源程序的编辑、编译、调试、运行和结果查看)。(4) 了解和掌握JCREATOR和Eclipse集成环境的安装,简单应用。(5) 了解Java Application和Applet程序的基本结构。(6) 了解Java程序文件名和类名的说明方法。二、实验内容与要求(1) 安装Jdk1.5.0集成环境,安装成功后,配置path,classpath路径,让用户在任何目录下均可用到Java的系统资源。设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。进入命令行(MS-DOS)方式,进行如下设置:SET PATH=D:JDK1.5.0BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%(2) 安装 Jdk 1.5.0 Doc, 并查看Jdk 1.5.0 Doc 文档中,和课堂教学有关系的部分。在整个实验过程中都可以参考。(3) 建立自己的工作目录如d:user。以后的Java程序和过程文件均放置在此目录下。输入一个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!(4) 输入一个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!。三、思考题1什么是Java虚拟机?它的作用是什么?答:Java虚拟机是一个想象中的、能运行Java字节码的操作平台。Java语言的一个非常重要的特点就是与平台的无关性。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。2 Java Application程序与Java Applet程序的不同之处有那些?请各位同学收集错误代码与提示信息,以及产生错误的原因。答:(1)运行方式不同。Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。(2)运行工具不同。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,而Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。 (4)受到的限制不同。Java Application程序可以设计成能进行各种操作的程序,包括读或写文件的操作,但是 Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。3列举出5种以上Java开发平台,分析他们的优缺点或特点。答:java Workshop,NetBeans 桌面开发,JBuilder,Visual Age,Notepad,Editplus。实验二 简单数据类型和流程控制一、实验目的1掌握Java语言的标识符和保留字,各简单数据类型变量以及有逻辑量意义数据的表示方法以及表示条件的表达式的类型。2掌握Java语言中具各种运算符表达式的基本知识。3熟练掌握使用if语句进行单分支结构和双分支结构程序设计的基本方法。4熟练掌握使用if语句的嵌套及switch语句进行多分支结构程序设计的基本方法。5熟练掌握while、do-while和for三种语句组成循环结构的基本方法。熟练掌握特殊流程控制语句如break,continue,标号语句。6熟练掌握一维数组和二维数组的使用7把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题二、实验内容与要求1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果public class Ch21 public static void main(String args) char x,y,z; x=K; y=; z=117; System.out.print(x); System.out.print(y); System.out.print(z); 运行结果:ko2、仔细读下面的JAVA语言源程序,自己给出程序的运行结果public class Ch22 public static void main(String args) boolean x,y,z; int a=12,b=24; x=(ab); y=(a!=b); z=(a+b=36); System.out.println(x=+x); System.out.println(y=+y); System.out.println(z=+z); 运行结果:x=false y=true z=true3、仔细读下面的JAVA语言源程序,自己给出程序的运行结果public class Ch23 public static void main(String args) int x,y,z=0; for (x=1;x=10;x+) for (y=1;y5) break; z+; System.out.println(z=+z); 运行结果:z=454 设int year,month,day分别表示一个日期中的年月日,试编程求a) 对于任意三个整数,判断其是否为一个合法的日期值。b) 给定一个日期值,计算若干天后的日期值c) 如果有两个日期值,计算他们相距的天数。3. 找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。)6、 编写一个程序,要求将一个浮点数强制转化成整型后再输出。7 请计算出3至1000范围内最大的10个素数,放入数组中,并计算出其累加和。三、思考题1定义变量的作用是什么?答:变量分为分为全局变量和局部变量,主要用于调用其值,还有逻辑判断时使用,一些比较复杂的逻辑操作,变量必不可少。2 Java运算符的优先级与结合性是怎样的?答:运算符的优先级由高到低为:后缀运算符,一元运算符,创建或强制类型转换,乘、除、求余,加、减,移位,关系运算,相等性判定,按位与,按位异或,按位或,逻辑与,逻辑或,条件运算,赋值。3long l=121233;float f=100.2323; 这两行代码在编译时有什么错误。答:在编译时虚拟机会认为121233是int型数据,而int型数据存储空间不够存储该数,会溢出。float 类型的应该是 float f = 100.2323f;因为浮点类型默认是double的。4&和&有什么区别?答:&是位运算符,是“按位与”的意思;&是逻辑运算符,是“逻辑与”的意思;&的优先级高于&.5 break,continue在流程控制中的作用。答:break用来从switch语句或循环语句中跳出;continue跳过循环体的剩余语句,开始执行下一次循环。实验三 类、对象基础知识一、实验目的1、熟练掌握类、对象的的概念以及对事物的抽象。2、熟练掌握成员、方法的概念以及构造方法的概念。3、熟练掌握封装性,多态性的概念4、理解面向对象的程序设计方法。二、实验内容与要求1运行下面的程序,理解面向对象的程序设计方法的基本概念。class value public int x,y; public value(int a,int b) x=a; y=b; public class Ch31 public static void main(String args) int total; value num=new value(24,65); total=num.x+num.y; System.out.println(add=+total); 2、定义一个类实现银行帐户的概念,包括的变量有帐号和存款余额,包括的方法有存款、取款、查询余额和”显示帐号”,。定义主类,创建帐户类的对象,并完成相应操作。提示:关键代码如下:public int getleftmoney()return leftmoney;public void savemoney(double money)leftmoney+=money;public void getmoney(double money)if(money=leftmoney)leftmoney-=money;elseSystem.out.println(只能取:+leftmoney);bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);System.out.println(存入21000元后余额为:+ba.getleftmoney();ba.getmoney(11500);System.out.println(11500元后余额为:+ba.getleftmoney();3 先创建一个Point类,然后定义Trianglele类。在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。在main()中创建一个对象,求给定三点的三角形的周长、面积。3将上题的方法setTri改用构造方法实现初始化。4、编写JAVA程序求园柱体的表面积和体积,已知底面圆心p为(0,0),半径r为10,圆柱体高5。代码为:结果为:三、思考题1一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用?答:不可以,被成为局部变量。方法的形式参数是可以在方法之外使用的。2为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时候执行?被谁调用?答:在java语言 中,构造函数又称构造方法。特殊性在于,与普通方法的区别是,他与类名相同,不返回结果也不加void返回值。构造函数的作用是初始化对象,即在创建对象时被系统调用(与普通方法不同,程序不能显示调用构造函数)。构造函数还能够被重载,即可以传入参数,当程序中包含有带参的构造函数时,系统将不会再提供的无参构造函数。构造方法在实例化对象时执行。3 子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什么?答:被称为方法重写。子类可以调用父类的任何非私有方法,而用到super时可能子类中对父类的datacreat方法进行重写用super表明调用的是父类里的方法4 同名的不同方法共存的情况称为什么?如何区分这些同名方法?答:一般来说,分为两种情况。一是在同一个类里面有两个或两个以上的同名的方法,这些方法的名字相同,但参数不同,这种情况中叫重载。当你调用方法时,会根据你传进去的参数的类型来决定调用哪个方法。二是一个类继承了另外一个类,子类中有和父类中一样的方法,这两个方法不仅名字相同,参数也相同,这种情况叫方法覆盖。也就是在子类中重新定义父类中已有的方法。当你创建一个子类的实例后调用这个方法,就会按照你在子类中新定义的方法来实现。5定义一个矩形类Rectangle,再定义接口InterfaceRec,其中包含方法getArea ();由矩形类派生出一个正方形类,自行扩充成员变量和方法,并实现此接口InterfaceRec中的方法。实验四 异常处理一、实验目的1、理解什么是例外2、掌握java的例外处理机制和方法二、实验内容与要求 1、仔细读下面的JAVA语言源程序,自己给出程序的运行结果 mport java.io.*;public class Ch61 public static void main(String args)throws IOException int ko=new int15; int n,a; String x; BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in); System.out.print(Enter an integer:); x=keyin.readLine(); n=Integer.parseInt(x); try a=110/n; ko15=100; System.out.println(此描述无法执行!); catch(ArithmeticException e) System.out.println(除数为0的错误); catch(ArrayIndexOutOfBoundsException f) System.out.println(数组索引值大于数组长度的错误!); System.out.println(执行完catch的描述!); 2运行下面的程序,自己给出程序的运行结果。import java.io.*;public class Ch62public Ch62()tryint a = new int2;a4 = 3;System.out.println(After handling exception return here?);catch(IndexOutOfBoundsException e) System.err.println(exception msg: + e.getMessage();System.err.println(exception string: + e.toString();e.printStackTrace();finallySystem.out.println(-); System.out.println(finally); System.out.println(No exception?); public static void main(String args)new Ch62 ();3使用Java Aplication的命令行参数读入两个数据,计算它们的和,然后将和输出。编程自定义例外OnlyOneException与NoOprandException。如果参数的数目不足,显示相应提示信息并退出程序的执行。三、思考题1. 下面程序在编译时会出现什么错误?import java.io.*;class ExceptionDemo1 public static void main(String args) FileInputStream fis = new FileInputStream(“text.dat”); int b; while(b=fis.read()!=-1 System.out.print(b); fis.close();2 异常分为哪两类?答:一类是非致命错误,经过某种修正后程序还能继续运行,包括RuntimeExcption(程序设计或实现问题)其他的异常(通常是由环境因素造成的);另一类是致命错误,是虚拟机出错,一般不由程序处理。3 如果申明int a=new int-10;应属于那类异常答:将数组里的值赋值为负数了,是非致命错误,RuntimeException。4 比较throw和throws两者的用法上的区别。答:throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用trycatch语句。5 本实验的实验内容2中,finally程序块的作用是什么?答:finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其他部分以前,能够对程序的状态做统一的管理,finally语句位于try和catch后,该程序块有无异常都会运行,用于关闭文件或释放其他系统资源或删除临时文件,实验五 用户图形界面GUI标准组件及事件处理一、实验目的1. 掌握常用GUI控制组件的使用方法。2. 掌握事件处理的方法。3了解swing控件的概念。二、实验内容1编程包含一个标签和一个按钮,单击按钮时,标签的内容在你好和再见之间切换。代码是:结果是: 2 编程包含一个文本框和一个文本区域,文本框内容改变时,将文本框中的内容显示在文本区域中;在文本框中按回车键时,清空文本区域的内容。3 编程包含一个复选按钮和一个普通按钮,复选按钮选中时,普通按钮的背景色为青色,未选中时为灰色。 4编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为普通、黑体和斜体。选择文本标签为普通的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为黑体的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为斜体的单选按钮时,普通按钮中的文字的字体为斜体。代码是:结果是: 5 编程包含一个下拉列表和一个按钮,下拉列表中有10、14、18三个选项。选择10时,按钮中文字的字号为10,选择14时,按钮中文字的字号为14,选择18时,按钮中文字的字号为18。 6 编程包含一个列表和两个标签,在第一个标签中显示列表中被双击的选项的内容,在第二个标签中显示列表中被选中的所有选项的内容。7 编程确定当前鼠标的位置坐标。8 编程创建一个Frame,实现窗口的监听器接口。9编程使用B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 晨光文具店营销方案策划
- 提供建筑方案设计流程
- 学校师德师风建设工作五年规划
- 建筑工程施工现场消防安全方案
- 员工培训管理实施细则
- 建筑方案设计前期分析论文
- 营销推广方案服装店文案
- 2025年注册会计师(CPA)考试 企业并购重组科目冲刺押题试卷及重点解读
- 精密机械行业分析报告
- 《函数的概念与性质》九年级数学代数教学方案
- 时文语法填空-电影篇 《731》 《长安的荔枝》 《戏台》
- 主题一 2. 设计节电方案(课件) 综合实践活动教科版五年级上册
- 2025年幼师教材考试题目及答案
- 中医备案诊所管理办法
- 2025年高校教师资格证考试题库(附答案)
- 2025年家庭健康管理师考试模拟题及答案
- (康德卷) 重庆市2026届高三9月开学考联考英语试卷(含答案解析)
- 2025江苏省旅游发展研究中心自主招聘4人考试参考试题及答案解析
- 绿化施肥基本知识培训课件
- 选调生培训课件
- 安全驾驶教育培训课件
评论
0/150
提交评论