《Java 语言程序设计》实验教学大纲
课程代码: B031022 课程名称: Java 语言程序设计 英文名称: Java Programming Language
课程总学时: 80 学 分: 4.5 理论学时: 36 实验学时: 44 课程类型: 必修课 课程性质: 公共课 设置类别: 非独立设实验课
先修课程: 《C语言程序设计》《计算机导论》 适用专业: 网络工程 开课单位: 软件工程系
一、实验教学的性质地位和任务
本课程是网络工程专业的一门公共基础实验课,是《数据结构》、《Java EE网络编程技术》、《Web开发技术》、《C#程序设计》等后续课程实践类的前导实验课程。主要内容包括Java语言基础、面向对象程序设计、异常处理、GUI设计、输入输出流、线程与多媒体、网络通信、数据库访问等基本编程技术。通过本实验课的学习,学生应了解JVM运行机制,并熟练配置Java编程环境;熟练掌握Java语法规则、应用程序开发与上机调试技术;理解面向对象程序设计思想,能够利用Java语言的基本技术解决实际问题,如:图形用户界面设计与事件处理、I/O设计、多媒体设计、网络通信、数据库访问等。
二、实验内容与要求
项目一 Java语言基础 (1)实验目标
1.熟悉Java运行环境;
2.掌握Java程序编辑、编译和运行的过程; 3.掌握Java语言的基本数据类型; 4.熟练掌握运算符和表达式; 5.学会编写简单程序。 (2)具体内容
1.分析所给程序写出运行结果;上机调试程序并运行,和自己的结果进行比较。
2.为了使程序易读,添加适当的注释;为了使程序输出结果清晰明了,增加合理的提示信息。 3.设计一个程序,尽量运用比较、布尔、赋值、位运算等运算符,体会Java的运算符与表达式的使用规则。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。
1
项目二 程序结构设计 (1)实验目标
1.掌握顺序、循环及分支结构的特点;
2.掌握while、for等循环结构实现语句的使用规则; 3.掌握if\\、case等分支结构实现语句的使用规则。 (2)具体内容
编写Java应用程序,分别实现如下功能:
1.有任意三个整数num1、num2、num3,求三个数中的最大值。
2.输入一个百分制成绩(0-100之间的整数),如果在90—100分,则输出‘A’;80—89分,输出’B’;70-79分,输出’C’,60-69分输出’D’,0-59分输出“不及格”。分别用if语句和switch语句实现。
3.猴子吃桃子(每天吃前一天的一半零一个,第10天只剩了一个,求第一天的数目)。 (3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目三 类与对象的设计 (1)实验目标
掌握类与对象的掌握方法的定义和使用规则
1.掌握类与对象的关系;
2.掌握类与对象的声明及定义方法;
3.理解构造方法的意义,掌握其定义方法以及执行过程; 4.掌握成员方法(实例方法)被调用的不同方式和定义要求。
(2)具体内容
1.定义一个类,完成不同形状面积的计算,要求:通过构造方法完成计算要素的初始化;在不同的类中计算不同形状的面积;主类完成对象的定义和方法的调用,输出结果。
2.对于某个银行卡有如下特征:卡号、帐户名、余额(新开卡为500元)等属性: ① 完成一系列操作:建卡、存款、取款、显示信息;
② 根据上述条件,利用面向对象的思想编写程序,完成不同帐户卡的建立、存/取款业务和两个卡之间的转帐。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目四 类与继承 (1)实验目标
1.掌握继承机制,深刻理解子类与父类的定义关系; 2.掌握方法重置的本质和应用; 3.掌握super、this等关键字的使用。 (2)具体内容
1.分析给定的程序:若要输出父类成员x的值(25)如何完成?补充程序(用尽可能多的方法完成)。 2.设计一个ManKind类(表示人类)和一个类Kids类(表示儿童群体)。对于每一个儿童而言:有sex和age属性、可以打印年龄、判断出是男孩、女孩,在输出是否被雇佣信息时,一律打印“kids shoud study and no work”。 充分利用继承的关系完成程序设计,要求打印出某一个孩子的年龄、根据性别(’m’or’w’)输出“is a boy”or“is a girl”,输出雇佣情况。
2
可能会用到重写(重置、覆盖)父类中已有的方法,如:manOrWoman()和employed()。 (3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目五 字符串操作 (1)实验目标
1.掌握字符串的常用构造方法;继承机制,深刻理解子类与父类的定义关系; 2.掌握字符创的常用方法;
3.能够熟练运用字符串类解决实际问题。 (2)具体内容
1.设计一个程序,对String类进行使用测试,尽量用到下面的机制:利用构造方法生成字符串对象;借助其成员方法完成字符串截取、定位、比较、转换、连接、替换等操作。
2.利用StringBuffer类和输入法提供的制表符,制作一个简单的表头在控制台输出。 (3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目六 Java类库和常用类 (1)实验目标
1.学会使用Java API帮助文档; 2.掌握常用类的使用方法;
3.学会如何根据用户需求,查找合适的类和正确的方法进行设计。 (2)具体内容
1.设计一个程序对小数进行四舍五入操作,返回结果可以是整数或小数,并且能够指定舍入后的小数位数。
2.设计一个程序,按照“年—月—日”的格式显示当前日期。
3.设计两位数的加法,两个加数随机产生:给出运算表达式让用户计算。 (3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目七 异常处理
(1)实验目标
1.掌握抛出异常的方法及处理机制; 2.掌握捕捉到异常后的处理方法;
3.能够用try、catch、throw、finally等语句处理异常。
(2)具体内容
1.编写一段程序,出现数组越界的情况。运行以后,观察系统的处理情况,并做记录;之后,在程序中加入异常处理(try-catch方式进行),使得程序正常、友好地结束。
2.输入两个数进行运算,如果进行了非数值输入,采用适当方法进行处理。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目八 简单GUI设计 (1)实验目标
3
1.掌握用AWT的继承关系及设计GUI的方法; 2.掌握用Swing的继承关系及设计GUI的方法; 3.掌握容器组件及普通组件的关系;
4.掌握布局管理器的使用方法及组件的加载方法。
(2)具体内容
1.设计一个简单的“小学生做算术”界面,包括标签、文本输入框、按钮等组件,如下图所示。 2.设计一个结算金额的GUI界面,如下图所示。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目九 复杂GUI设计 (1)实验目标
1.掌握Swing设计application程序界面的方法; 2.掌握复杂界面的分析方法;
3.掌握JTabbedPane容器、JScrollPane容器的使用方法。
(2)具体内容
设计一个带有选项卡的GUI界面,包括标签、文本框、复选框、单选按钮、提交按钮、图片查看器等设计组件,参考界面如下。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目十 常用事件处理
(1)实验目标
1.掌握事件响应原理和处理方法;
2.熟练掌握按钮组件及窗口组件的事件处理方法。
(2)具体内容
1.为“小学生做加法”的GUI添加事件处理:当点击“测试”按钮时,根据计算结果给出不同的提
4
示语和提示图片。
2.设计一个GUI,当点击性别按钮时,出现不同的图片,效果如下图所示。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目十一 鼠标、焦点等事件处理
(1)实验目标
1.掌握鼠标进入/退出、按下/释放事件源组件时的事件处理方法; 2.理解形成焦点的概念并掌握焦点事件的处理方法。
(2)具体内容
1.设计一个程序,当在画布上按下鼠标左键时,在鼠标指针位置处绘制一个圆;当按下鼠标右键时,在鼠标指针位置处绘制一个矩形;当鼠标指针退出画布时,清除绘制的全部图形。
2.设计一个程序,监视组件上的焦点事件:当组件获得焦点时,组件的颜色变成蓝色,当失去焦点时,组件的颜色变成色。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目十二 高级Swing组件的应用
(1)实验目标
1.掌握菜单、对话框、表格等组件的使用方法; 2.了解进度条、树等组件的应用方法。
(2)具体内容
1.设计一个菜单,当选择菜单项时会弹出对话窗,表明所选择的菜单项,当选择“退出”菜单项时,系统窗口关闭,效果如下图所示。
2.创建五个JButton,点击每个按钮时产生不同的信息提示窗体,如输入信息框、告警信息框、确认信息框、普通消息框和组件框。
3.编写用户自己的表格类,此表格类继承AbstractTableModel类,然后覆盖该抽象类的一些方法,来实现功能强大的表格。效果如下图所示。
(3)主要仪器设备与工具
每人一台PC机,实验配置为:JDK6.0+编辑器+API帮助文档。 项目十三 创建线程 (1)实验目标
5