Java语言课程设计报告专业班级学号姓名课题指导老师报告成绩日期:2012年4月18日目录一引言..............................................................................................321.1对java语言知识的巩固....................................................41.2提高应用java语言的能力................................................6二课程设计要求及分析..................................................................72.1题目的要求及分析..............................................................72.2程序内容的分析..................................................................82.3程序运行环境......................................................................8三课程设计内容..........................................................................83.1、总体设计............................................................................93.1.1、设计框架...................................................................93.1.2、系统功能模块图.......................................................93.2、详细设计..........................................................................113.2.1程序的GUI设计........................................................113.2.2功能模块的说明.......................................................113.2.3、工作流程图.............................................................133.3、调试与测试......................................................................143.3.1、调试过程及数据结果的分析.................................143.3.2、调试所遇问题及解决措施.....................................15四设计心得与总结......................................................................154.1心得体会及收获................................................................164.2总结.....................................................................................18五建议..........................................................................................19六评阅意见................................................................................213一引言《java课程设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业的学4生学完《java程序设计》课程后、进行的一次全面的综合训练,java程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生比较系统地掌握程序设计及其在网络开发中的广泛应用、基本方法及技巧,为学生综合应用所学知识,利用软件工程为基础进行软件开发,并在实践应用方面打下坚实的基础。学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、Java多线程编程、Applet程序的设计、文件和网络输入输出流编程、Java数据库编程等。通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力。在科技高速发展的今天,人们对于书籍的阅读也越发重要,电子书无疑是对书籍阅读的一大贡献,那么好的一款小说阅读器又会给电子书的阅读带来很大的方便,所以,小说阅读器在现在人们的生活中也是有着特殊的地位的。就拿人们的手机来说吧,现在大部分手机上都有着各种的小说阅读器。在这种背景下,作者选择了小说阅读器的开发。1.1对java语言知识的巩固程序设计是一门实践性很强的课程,既要掌握概念,又要学习动手编写程序,还要上机亲自调试、运行。前面我们已经有过一学期学习java语言的经验,对java语言已经有了一些基本的掌握和了解。为了进一步加深对java语言知识的理解和进一步巩固java语言知识及编写程序的方法,我们学习了java语言程序设计这门课程。Java作为新一代的面向对象编程语言,具有跨平台、安全、高可靠、多线程等特点,在计箅机网络及通信应用软件开发上得到广泛的应用。巩固Java语言的基本语法、面向对象编程方法和Java高级技术。主要内容包括:Java语言基础、数据类型、Java类和对象、JavaI/O流、Java图形界面以及JDBC数据库编程、Java网络编程和线程编程。Java语言是完全面向对象的,所有设计都必须在类中实现,一个java程序就是多个类的集合;为8种基本数据类型提供相应的基本数据类型包装类,是基本数据类型与类相关联;将数组设计为引用类型,使用方法与对象相同,并且每个数组都有长度属性;不支持类似C语言的面向过程设计,不支持类似C++语言的全称变量、goto语句、宏定义、全局函数等语法规则,不支持结构、联合和指针等数据类型。Java语言通过应用模型实现了指针的功能,通过类实现了结构类型。Java语言的特点(1)简单性Java是个精简的系统,无需强大的硬件环境便可以很好地运行。Java的风格和语法类似于C++,因此,C++程序员可以很快就掌握Java编程技术。Java摒弃了C++中容易引发程序错误的地方,如多重继承、运算符重载、指针和内存管理等,Java语言具有支持多线程、自动垃圾收集和采用引用等特性。Java提供了丰富的类库,方便用户迅速掌握Java。(2)面向对象面向对象可以说是Java最基本的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。所有的Java程序和applet均是对象,Java支持静态和动态风格的代码继承及重用。(3)分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样简单方便。Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。(4)健壮性Java是一种强类型语言,它在编译和运行时要进行大量的类型检查。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java的数组并非采用指针实现,从而避免了数组越界的可能。Java通过自动垃圾收集器避5免了许多由于内存管理而造成的错误。Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误发生的可能。(5)结构中立作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构无关的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。从而使同一版本的应用程序可以运行在不同的平台上。(6)安全性作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒的入侵和破坏行为的发生。(7)可移植Java与体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。Java通过定义独立于平台的基本数据类型及其运算,使Java数据得以在任何硬件平台上保持一致,这也体现了Java语言的可移植性。还有Java编译器本身就是用Java语言编写的,Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成,Java语言规范中也没有任何“同具体实现相关”的内容,这说明Java本身也具有可移植性。同时Java语言的类库也具有可移植性。(8)解释的Java解释器(运行系统)能直接对Java字节码进行解释执行。链接程序通常比编译程序所需资源少。(9)高性能虽然Java是解释执行程序,但它具有非常高的性能。另外,Java可以在运行时直接将目标代码翻译成机器指令。(10)多线程线程有时也称小进程,是一个大进程里分出来的小的独立运行的基本单位。Java提供的多线程功能使得在一个程序里可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。多线程带来的更大的好处是具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。(11)动态性Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,而不影响使用这一类库的应用程序的执行,这是采用C++语言进行面向对象程序设计时所无法实现的Java应用程序有两种形式:Application和Applet。Application是能够独立运行的应用程序,有控制台图形用户界面两种运行方式。Java应用由一个或多个扩展名为“.java”的文件组成。一个java应用程序就是多个类的集合,类有关键字Class声明,类中包含成员变量和成员方法,main()方法是类首先执行的方法,语句必须写在类的方法中。例如基于控制台运行的Application应用程序如下:publicclassHello{publicstaticvoidmain(Stringargs[]){System.out.println(“Hello”);}}Java程序所有语句都必须写在类中,class是声明的关键字,Hello是类名。在main()方法中,用标准输出语句System.out.println()在屏幕上显示一个字符串“Hello!”。6文件名为“Hello.java”。Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,游浏览器中的java解释器解释执行。Applet只是Application的特殊形式,要编写Apple