java面向对象程序的设计(董小园版)
- 格式:doc
- 大小:393.00 KB
- 文档页数:52
《面向对象程序设计(Java)》课程设计计划书班级:2013计科1、2班时间:2014-2015学年第一学期第16、17教学周地点:科技楼A-206任课教师:潘俊虹一、课程设计的目的课程设计是完成教学计划达到培养目标的重要环节,是教学计划中进行综合训练的重要实践环节,是有助于培养应用性人才的一种教学形式,它将使学生在综合运用所学知识,解决本专业方向的实际问题方面得到系统性的训练。
课程设计的具体教学目标是使学生在以下方面得到训练和提高:利用所学过的面向对象程序设计(JAVA)知识,能初步分析应用问题;设计较合理的解决方案;实现应用程序编制与调试;具有初步实验结果分析、总结及撰写技术报告的能力;初步团队协作开发能力。
二、课程设计内容和要求课程设计应选择结合课本的理论知识,有实际应用背景、适宜工作量的系统为对象。
可采用教师指定方向性题目或教师指导下的小组自主选题。
课程设计启发性选题示例如下:1、计算器模拟程序功能要求:该程序显示GUI用户界面,能实现整数的加、减、乘、除四则运算。
界面可参考下图:图1 计算器模拟程序界面2、绘图程序功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小可在程序中设定)。
界面可参考图2:图2 绘图界面3、管理系统如“学生管理系统”,功能要求:输入十个同学的学号,姓名,四科成绩;计算出平均成绩,以平均成绩降序输出成绩表;输出全组各科平均分,最高分和最低分;输入姓名查询成绩。
界面要求:用图形界面实现。
4、Java小游戏各类Java小游戏,注意工作量。
5、网站建设利用Java程序设计语言制作网页,有一定应用背景和功能。
三.课程设计安排1、课程设计应按统一教学计划安排进行,学生应分成小组(__4__人左右一组) ,在教师指导下完成系统分析、设计、实现及调试工作。
同一小组内的不同学生,组内协商分配实质性任务。
2. 小组内学生应独立完成系所承担的工作,并对整个系统有较深理解。
电子商务数据库技术与应用方法1:在声明变量时设置。
举例来说,在程序中声明一个整数的变量num并直接把这个变量赋值为2,可以在程序中写出如下的语句:int num = 2 ; // 声明变量,并直接设置方法2:在声明后设置。
一般来说,也可以在声明后给变量赋值。
举例来说,在程序中声明整数的变量num1、num2 及字符变量ch,并且,给它们分别赋值,在程序中即可写出如下面的语句:int num1,num2 ; // 声明变量char ch ;num1 = 2 ; // 赋值给变量num2 = 3 ;ch = 'z' ;方法3:在程序中的任何位置声明并设置。
以声明一个整数的变量 num为例,可以等到要使用这个变量时,再给它赋值:int num ; // 声明变量…num = 2 ; // 用到变量时,再赋值(7)println()System.out 是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。
其后所连接的 println由 print 与line 所组成,意义是将后面括号中的内容打印在标准输出设备左、右括号之间的内容,即欲打印到显示器中的参数,参数可以是字符、字符串、数值、常量或表达式,参数与参数之间以括号为间隔。
当参数为字符串时,应以一对双引号(“”)将其包围,变量则直接将其名称作为参数;表达式作为参数时,要用括号将表达式包围起来。
8.2.6 Java面向对象程序设计1.类类和对象是面向对象编程的基本元素,它定义了一个对象的结构和行为。
在面向对象的程序设计里面,可以将要表达的概念封装在一个类里面,例如:动物是一个概念,可以将其定义为一个类,这个类专门用于表达动物的属性和行为。
用类对表达的概念进行封装正是面向对象的程序设计语言与面向过程的程序设计语言的本质区别之一。
类中可以定义各种类型的数据及成员函数,类中定义的数据类型和成员函数可根据其访问权限被其他的类或函数引用。
java面向对象程序设计(第2版)Java面向对象程序设计(第2版)面向对象程序设计是一种以对象为核心,通过类和对象来组织代码的编程范式。
Java语言以其跨平台的特性和面向对象的设计理念,成为软件开发领域中广泛使用的编程语言之一。
本书《Java面向对象程序设计(第2版)》旨在深入探讨Java语言的面向对象特性,并通过丰富的实例来指导读者如何使用Java进行面向对象的程序设计。
第一章:面向对象基础面向对象程序设计的核心概念包括类、对象、封装、继承和多态。
类是现实世界中某些具有相同属性和行为的事物的抽象,对象则是类的实例。
封装是将数据和操作数据的方法结合在一起,隐藏内部实现细节,只暴露必要的接口。
继承允许新创建的类(子类)继承现有类(父类)的属性和方法,减少代码重复。
多态则允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
第二章:Java语言概述Java语言是一种强类型、面向对象的编程语言。
它具有跨平台的特性,可以在任何支持Java虚拟机(JVM)的设备上运行。
Java的基本语法与C和C++相似,但去除了指针和多重继承等复杂特性,使得Java代码更加安全和易于维护。
第三章:Java类和对象本章详细介绍了如何在Java中定义类和创建对象。
类定义包括属性(成员变量)和方法(成员函数)。
属性用来存储对象的状态,而方法则定义了对象的行为。
对象的创建涉及到类的实例化过程,包括构造方法的使用和对象的初始化。
第四章:封装与数据隐藏封装是面向对象设计的一个重要原则,它通过访问修饰符(如public、private等)来控制类成员的可见性。
本章将讨论如何使用封装来隐藏对象的内部状态,只通过公共接口与外部交互,从而提高代码的安全性和可维护性。
第五章:继承与多态继承允许新类继承现有类的属性和方法,而多态则允许对象以多种形式表现。
本章将介绍Java中的继承机制,包括单继承和接口实现。
同时,将探讨多态的实现方式,如方法重载和重写。
目录第1章了解Java (2)第2章面向对象的“对象” (7)第3章对象的属性---变量详述 (9)第4章对象的行为---成员方法详述 (12)第5章生命周期及作用域 (17)第6章Java常用类与函数库 (19)第7章对象的进一步探讨--面向对象中的继承 (22)第8章深入多态 (26)第9章使用异常处理 (28)第10章基于Swing的图形界面编程 (29)第11章可视化程序的事件处理 (38)第12章Java多线程机制 (51)第1章了解Java1.编写一个程序,将用户在命令行输入的24小时制时间转换为12小时制。
public class TimeTest{public static void main(String args[]){int time;time = Integer.parseInt(args[0]);if(time<0||time>24)System.out.println("输入的不是一个合法时间!");else if(time>12)System.out.println("12小时制为"+(time-12)+"点");elseSystem.out.println("12小时制为"+time+"点");}}2.用户输入x的数值,根据如下规则输出计算后的结果y值。
x (x<1)Y = 2x -1 (1<=x<10)3x -11 (x>=10)public class CalculateTest{public static void main(String args[]){float x,y;x = Float.parseFloat(args[0]);if(x<1)y = x;else if(1<=x&&x<10)y = 2*x-1;elsey = 3*x-11;System.out.println(y);}}3.编写一个Java应用程序,由命令行参数输入一个百分制成绩,要求打印出成绩等级“A”、“B”、“C”、“D”、“E”。
90分以上为“A”;80~89分为“B”;70~79分为“C”;60~69分为“D”;60分以下为“E”。
要求使用switch语句实现。
运行效果如图2所示:图1public class PrintGrade {public static void main(String[] args) {double score = Double.parseDouble(args[0]);if(score<0 || score>100)System.out.println("错误,不是一个合法的百分制成绩!");else{int s = ((int)score)/10;char grade;switch(s){case 10:case 9: grade = 'A'; break;case 8: grade = 'B'; break;case 7: grade = 'C'; break;case 6: grade = 'D'; break;default:grade = 'E';}System.out.println("成绩是:"+score+",相应的等级是"+grade);}}}4.假设今天是星期日,编写一个程序,求n天后是星期几。
要求:n的数值由命令行输入;使用switch语句实现。
public class DateTest {public static void main(String[] args) {int n = Integer.parseInt(args[0]);switch (n%7){case 0: System.out.println(n+"天后是星期天"); break;case 1: System.out.println(n+"天后是星期一"); break;case 2: System.out.println(n+"天后是星期二"); break;case 3: System.out.println(n+"天后是星期三"); break;case 4: System.out.println(n+"天后是星期四"); break;case 5: System.out.println(n+"天后是星期五"); break;case 6: System.out.println(n+"天后是星期六"); break;}}}5.用户在命令行输入一个数字,按照数字输出相应个数的星号。
public class PrintStar {public static void main(String[] args) {int n = Integer.parseInt(args[0]);int i;for( i=1; i<=n; i++)System.out.print("*");System.out.println();}}6.编写程序,求0到100之间的偶数和。
要求:分别用while语句、do while语句和for循环语句实现。
while实现:public class SumDemo1 {public static void main(String[] args) {int sum = 0, i = 0;while(i<=100){if(i%2==0)sum = sum+i;i++;}System.out.println("0--100之间所有偶数的和是"+sum);}}do while实现:public class SumDemo2 {public static void main(String[] args) {int sum = 0, i = 0;do{if(i%2==0)sum = sum+i;i++;}while(i<=100);System.out.println("0--100之间所有偶数的和是"+sum);}}for循环实现:public class SumDemo3 {public static void main(String[] args) {int sum = 0, i = 0;for( ; i<=100; i=i+2)sum = sum+i;System.out.println("0--100之间所有偶数的和是"+sum);}}7.输入一个大于1的整数,求1到这个数的阶乘。
用三种循环语句实现。
提示:5的阶乘表示为5!,计算公式:5!=1*2*3*4*5while实现:public class Factorial1 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i = 1;while(i<=num){result = result*i;i++;}System.out.println(num+"的阶乘是"+result);}}}do while实现:public class Factorial2 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i = 1;do{result = result*i;i++;}while(i<=num);System.out.println(num+"的阶乘是"+result);}}}for循环实现:public class Factorial3 {public static void main(String[] args) {int num = Integer.parseInt(args[0]);int result = 1;if(num<1)System.out.println("应输入大于1的整数!");else{int i;for( i=1; i<=num; i++)result = result*i;System.out.println(num+"的阶乘是"+result);}}}8.用for循环语句打印九九乘法表。
public class Multiplication {public static void main(String[] args) {int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)System.out.print(i*j+"\t");System.out.println();}}}第2章面向对象的“对象”1. 定义一个描述长方体的类Box,类中有三个整型的成员变量:length、width 和height,分别表示长方体的长、宽和高。
定义setInfo(int ,int ,int)方法设置这三个变量的值;定义volumn()方法求长方体的体积并返回整型结果;定义area()方法求长方体的表面积并返回整型结果;定义toString()方法把长方体的长、宽、高,以及长方体的体积和表面积转化为字符串并返回字符串。
编写Java应用程序,测试类Box,使用类中定义的各个方法,并将其结果输出。
class Box{int length,width,height;public setInfo(int l,int w,int h){length = l;width = w;height = h;}public int volumn(){return length*width*height;}public int area(){return (length*width + length*height + width*height) * 2;}public String toString(){return "Length:" + length + " width:" + width + " height:" + height + " volumn: " + volumn() + " area:" + area();}}public class BoxTest {public static void main(String[] args) {Box b = new Box();b.setInfo(5,2,4);System.out.println(b.toString());}}2. 定义一个圆形类Circle,类中有一个用来描述半径的double型成员变量r,定义setR(double)方法初始化半径;定义getArea()方法求圆形的面积并返回double类型结果;定义getPerimeter()方法求圆形的周长并返回double类型结果。