JAVA程序设计实验指导书及答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学经济管理学院 JAVA 程序设计语言 实验指导书
经济管理学院电子商务系
2010 年 8 月
实 验wenku.baidu.com说 明
《JAVA 程序设计语言》Java 语言是一种完全面向对象的计 算机程序设计语言,它具有“一次编写,到处运行”的跨平台特 性。该课程作为电子商务专业的一门专业课,主要介绍 JAVA 程 序设计语言的基本知识,为日后学生进一步学习 J2ME 或 J2EE 打下牢固的程序设计语言基础。 实验课是《JAVA 程序设计语言》的重要实践环节。通过实 验,使学生加深理解、验证、巩固课堂教学内容,加深对 JAVA 程序设计的过程、方法的理解,发挥学生的想象力和创新能力。 本实验课程共开设 5 个实验项目。 实验方式与基本要求: 学生须在实验前预习相应实验内容,熟悉实验的基本原理、 方法及要求、制定好上机步骤,弄清实验目的;实验每次均为 2 学时,学生须按时到场;要求学生掌握程序设计的各种基本方法 与步骤,并在实验中得到提高。 考核及报告: 实验时立将各种问题与结果记录下来,实验内容可以通过 截图等方式存入 U 盘,并在课后完成实验报告内容; 任课教师 对每次记录都要进行检查、分析、登记; 课程总成绩应为理论 考核、实验成绩的综合;其中实验课程成绩占 30%,理论课成绩 占 70。
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.把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题
运行结果:x=false y=true z=true 3、仔细读下面的 JAVA 语言源程序,自己给出程序的运行结果 public class Ch23{ public static void main(String args[]) { int x,y,z=0; for (x=1;x<=10;x++)
二、实验内容与要求
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); } }
二、实验内容与要求
(1) 安装 Jdk1.5.0 集成环境,安装成功后,配置 path,classpath 路径,让用户在任何目录 下均可用到 Java 的系统资源。 设置环境变量 PATH 和 CLASSPATH(如果在 autoexec.bat 中没有进行设置) 。进入命令 行(MS-DOS)方式,进行如下设置: SET PATH=D:\JDK1.5.0\BIN;%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.java public class HelloWorldApp{ public static void main(String args[]){ System.out.println(″Hello World!″); } } 本程序的作用是输出下面一行信息: Hello World!
for (y=1;y<10;y++) { if (x==5) continue; if (y>5) break; z++; } System.out.println("z="+z); } }
运行结果:z=45 4. 设 int year,month,day 分别表示一个日期中的年月日,试编程求 a) 对于任意三个整数,判断其是否为一个合法的日期值。 b) 给定一个日期值,计算若干天后的日期值 c) 如果有两个日期值,计算他们相距的天数。
三、思考题 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 对站点的磁盘文件既不能进行读操作,也不能进行写 操 作。
实验一 熟悉 Java 程序开发环境 一、实验目的
(1) 了解和使用 J2sdk1.5.0(JDK)集成环境。 (2) 熟悉 J2sdk 集成环境的基本命令、功能和基本用法。并学会配置 path 等环境变量 (3) 学习并熟练掌握使用 J2SDK 环境进 Java 程序开发的全过程(包括:源程序的编辑、 编译、调试、运行和结果查看) 。 (4) 了解和掌握 JCREATOR 和 Eclipse 集成环境的安装,简单应用。 (5) 了解 Java Application 和 Applet 程序的基本结构。 (6) 了解 Java 程序文件名和类名的说明方法。
<HEAD> <TITLE>An Applet</TITLE> </HEAD> <BODY> <applet code=”HelloWorldApplet.class”width=200 height=40> </applet> </BODY> </HTML> 其中用<applet>标记来启动 HelloWorldApplet.code 指明字节码所在的文件,width 和 height 指明 applet 所占的大小, 把这个 HTML 文件存入 Example.html, 然后运行: d:\user>appletviewer Example.html 这时屏幕上弹出一个窗口,其中显示 Hello World in Applet!。
简单的 Applet 小程序
例 1-2 // HelloWorldApplet.java import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet{ //anapplet public void paint(Graphics g){ g.drawString(″Hello World in Applet!″,20,20); } } 这个程序中没有实现 main()方法,这是 Applet 与应用程序 Application(如上例) 的区别之一。为了运行该程序,首先我们也要把它放在文件 HelloWorldApplet.java 中,然后对它进行编译: d:\user>javac HelloWorldApplet.java 得到字节码文件 HelloWorldApplet.class。 由于 Applet 中没有 main()方法作为 Java 解释器的入口,我们必须编写 HTML 文件,把该 Applet 嵌入其中,然后用 appletviewer 来运行, 或在支持 Java 的浏览器上运行,如 IE。 它的<HTML>文件如下: <HTML>
运行结果:k\o 2、仔细读下面的 JAVA 语言源程序,自己给出程序的运行结果 public class Ch22 { public static void main(String args[]) { boolean x,y,z; int a=12,b=24; x=(a>b); y=(a!=b); z=(a+b==36); System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }
现在我们可以运行该程序。首先把它放到一个名为 HelloWorldApp.java 的文件中,这 里, 这文件名应和类名相同, 因为 Java 解释器要求公共类必须放在与其同名的文件中。 然后对它进行编译: d:\user>javac HelloWorldApp.java 编译的结果是生成字节码文件 HelloWorldApp.class。最后用 java 解释器来运行该字 节码文件: d:\user>java HelloWorldApp 结果在屏幕上显示 HelloWorld! (4) 输入一个 applet 源程序,学习编辑、编译、运行程序的方法。
3. 找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有 鞍点。 )
6、编写一个程序,要求将一个浮点数强制转化成整型后再输出。
7.请计算出 3 至 1000 范围内最大的 10 个素数,放入数组中,并计算出其累加和。
三、思考题
1.定义变量的作用是什么? 答:变量分为分为全局变量和局部变量,主要用于调用其值,还有逻辑判断时使用,一些 比较复杂的逻辑操作,变量必不可少。 2.Java 运算符的优先级与结合性是怎样的? 答:运算符的优先级由高到低为:后缀运算符,一元运算符,创建或强制类型转换,乘、 除、求余,加、减,移位,关系运算,相等性判定,按位与,按位异或,按位或,逻辑与, 逻辑或,条件运算,赋值。 3.long l=121233;float f=100.2323; 这两行代码在编译时有什么错误。 答:在编译时虚拟机会认为 121233 是 int 型数据,而 int 型数据存储空间不够存储该数,会 溢出。float 类型的应该是 float f = 100.2323f; 因为浮点类型默认是 double 的。 4.&和&&有什么区别? 答:&是位运算符,是“按位与”的意思;&&是逻辑运算符,是“逻辑与”的意思;&的 优先级高于&&. 5. break,continue 在流程控制中的作用。 答:break 用来从 switch 语句或循环语句中跳出;continue 跳过循环体的剩余语句,开始执 行下一次循环。
经济管理学院电子商务系
2010 年 8 月
实 验wenku.baidu.com说 明
《JAVA 程序设计语言》Java 语言是一种完全面向对象的计 算机程序设计语言,它具有“一次编写,到处运行”的跨平台特 性。该课程作为电子商务专业的一门专业课,主要介绍 JAVA 程 序设计语言的基本知识,为日后学生进一步学习 J2ME 或 J2EE 打下牢固的程序设计语言基础。 实验课是《JAVA 程序设计语言》的重要实践环节。通过实 验,使学生加深理解、验证、巩固课堂教学内容,加深对 JAVA 程序设计的过程、方法的理解,发挥学生的想象力和创新能力。 本实验课程共开设 5 个实验项目。 实验方式与基本要求: 学生须在实验前预习相应实验内容,熟悉实验的基本原理、 方法及要求、制定好上机步骤,弄清实验目的;实验每次均为 2 学时,学生须按时到场;要求学生掌握程序设计的各种基本方法 与步骤,并在实验中得到提高。 考核及报告: 实验时立将各种问题与结果记录下来,实验内容可以通过 截图等方式存入 U 盘,并在课后完成实验报告内容; 任课教师 对每次记录都要进行检查、分析、登记; 课程总成绩应为理论 考核、实验成绩的综合;其中实验课程成绩占 30%,理论课成绩 占 70。
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.把课堂上学到的理论用于实践,并验证理论的正确性,和发现新的问题
运行结果:x=false y=true z=true 3、仔细读下面的 JAVA 语言源程序,自己给出程序的运行结果 public class Ch23{ public static void main(String args[]) { int x,y,z=0; for (x=1;x<=10;x++)
二、实验内容与要求
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); } }
二、实验内容与要求
(1) 安装 Jdk1.5.0 集成环境,安装成功后,配置 path,classpath 路径,让用户在任何目录 下均可用到 Java 的系统资源。 设置环境变量 PATH 和 CLASSPATH(如果在 autoexec.bat 中没有进行设置) 。进入命令 行(MS-DOS)方式,进行如下设置: SET PATH=D:\JDK1.5.0\BIN;%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.java public class HelloWorldApp{ public static void main(String args[]){ System.out.println(″Hello World!″); } } 本程序的作用是输出下面一行信息: Hello World!
for (y=1;y<10;y++) { if (x==5) continue; if (y>5) break; z++; } System.out.println("z="+z); } }
运行结果:z=45 4. 设 int year,month,day 分别表示一个日期中的年月日,试编程求 a) 对于任意三个整数,判断其是否为一个合法的日期值。 b) 给定一个日期值,计算若干天后的日期值 c) 如果有两个日期值,计算他们相距的天数。
三、思考题 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 对站点的磁盘文件既不能进行读操作,也不能进行写 操 作。
实验一 熟悉 Java 程序开发环境 一、实验目的
(1) 了解和使用 J2sdk1.5.0(JDK)集成环境。 (2) 熟悉 J2sdk 集成环境的基本命令、功能和基本用法。并学会配置 path 等环境变量 (3) 学习并熟练掌握使用 J2SDK 环境进 Java 程序开发的全过程(包括:源程序的编辑、 编译、调试、运行和结果查看) 。 (4) 了解和掌握 JCREATOR 和 Eclipse 集成环境的安装,简单应用。 (5) 了解 Java Application 和 Applet 程序的基本结构。 (6) 了解 Java 程序文件名和类名的说明方法。
<HEAD> <TITLE>An Applet</TITLE> </HEAD> <BODY> <applet code=”HelloWorldApplet.class”width=200 height=40> </applet> </BODY> </HTML> 其中用<applet>标记来启动 HelloWorldApplet.code 指明字节码所在的文件,width 和 height 指明 applet 所占的大小, 把这个 HTML 文件存入 Example.html, 然后运行: d:\user>appletviewer Example.html 这时屏幕上弹出一个窗口,其中显示 Hello World in Applet!。
简单的 Applet 小程序
例 1-2 // HelloWorldApplet.java import java.awt.*; import java.applet.*; public class HelloWorldApplet extends Applet{ //anapplet public void paint(Graphics g){ g.drawString(″Hello World in Applet!″,20,20); } } 这个程序中没有实现 main()方法,这是 Applet 与应用程序 Application(如上例) 的区别之一。为了运行该程序,首先我们也要把它放在文件 HelloWorldApplet.java 中,然后对它进行编译: d:\user>javac HelloWorldApplet.java 得到字节码文件 HelloWorldApplet.class。 由于 Applet 中没有 main()方法作为 Java 解释器的入口,我们必须编写 HTML 文件,把该 Applet 嵌入其中,然后用 appletviewer 来运行, 或在支持 Java 的浏览器上运行,如 IE。 它的<HTML>文件如下: <HTML>
运行结果:k\o 2、仔细读下面的 JAVA 语言源程序,自己给出程序的运行结果 public class Ch22 { public static void main(String args[]) { boolean x,y,z; int a=12,b=24; x=(a>b); y=(a!=b); z=(a+b==36); System.out.println("x="+x); System.out.println("y="+y); System.out.println("z="+z); } }
现在我们可以运行该程序。首先把它放到一个名为 HelloWorldApp.java 的文件中,这 里, 这文件名应和类名相同, 因为 Java 解释器要求公共类必须放在与其同名的文件中。 然后对它进行编译: d:\user>javac HelloWorldApp.java 编译的结果是生成字节码文件 HelloWorldApp.class。最后用 java 解释器来运行该字 节码文件: d:\user>java HelloWorldApp 结果在屏幕上显示 HelloWorld! (4) 输入一个 applet 源程序,学习编辑、编译、运行程序的方法。
3. 找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有 鞍点。 )
6、编写一个程序,要求将一个浮点数强制转化成整型后再输出。
7.请计算出 3 至 1000 范围内最大的 10 个素数,放入数组中,并计算出其累加和。
三、思考题
1.定义变量的作用是什么? 答:变量分为分为全局变量和局部变量,主要用于调用其值,还有逻辑判断时使用,一些 比较复杂的逻辑操作,变量必不可少。 2.Java 运算符的优先级与结合性是怎样的? 答:运算符的优先级由高到低为:后缀运算符,一元运算符,创建或强制类型转换,乘、 除、求余,加、减,移位,关系运算,相等性判定,按位与,按位异或,按位或,逻辑与, 逻辑或,条件运算,赋值。 3.long l=121233;float f=100.2323; 这两行代码在编译时有什么错误。 答:在编译时虚拟机会认为 121233 是 int 型数据,而 int 型数据存储空间不够存储该数,会 溢出。float 类型的应该是 float f = 100.2323f; 因为浮点类型默认是 double 的。 4.&和&&有什么区别? 答:&是位运算符,是“按位与”的意思;&&是逻辑运算符,是“逻辑与”的意思;&的 优先级高于&&. 5. break,continue 在流程控制中的作用。 答:break 用来从 switch 语句或循环语句中跳出;continue 跳过循环体的剩余语句,开始执 行下一次循环。