为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

小说阅读器报告Java语言课程设计报告

2017-09-02 26页 doc 81KB 63阅读

用户头像

is_180829

暂无简介

举报
小说阅读器报告Java语言课程设计报告小说阅读器报告Java语言课程设计报告 Java语言课程设计报告 专业 班级 学号 姓名 课题 指导老师 报告成绩 日期:2012年4月18日 目 录 一 引言 ........................................................................................... 3 1.1 对java语言知识的巩固 ................................................... 4 1.2 提高应用ja...
小说阅读器报告Java语言课程设计报告
小说阅读器报告Java语言课程报告 Java语言课程设计报告 专业 班级 学号 姓名 课题 指导老师 报告成绩 日期:2012年4月18日 目 录 一 引言 ........................................................................................... 3 1.1 对java语言知识的巩固 ................................................... 4 1.2 提高应用java语言的能力 ............................................... 6 二 课程设计要求及分析 ................................................................ 7 2.1 题目的要求及分析............................................................. 7 2.2 程序内容的分析 ................................................................ 8 2.3 程序运行环境 .................................................................... 8 三 课程设计内容 ........................................................................ 8 3.1、总体设计 .......................................................................... 9 3.1.1、设计框架 ................................................................. 9 3.1.2、系统功能模块图 ..................................................... 9 3.2、详细设计 ........................................................................ 11 3.2.1程序的GUI设计 ...................................................... 11 3.2.2 功能模块的说明 ..................................................... 11 3.2.3、图 ........................................................... 13 3.3、调试与测试 .................................................................... 14 3.3.1、调试过程及数据结果的分析 ................................ 14 3.3.2、调试所遇问题及解决措施.................................... 15 四 设计心得与总结 .................................................................... 15 4.1 心得体会及收获 .............................................................. 16 4.2 总结 .................................................................................. 18 五 建议 ....................................................................................... 19 六 评阅意见 .............................................................................. 21 2 一 引 言 《java课程设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业的学 3 生学完《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通过自动垃圾收集器避 4 免了许多由于内存管理而造成的错误。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应用程序如下: public class Hello { public static void main(String args[]) { System.out.println(“Hello”); } } Java程序所有语句都必须写在类中,class是声明的关键字,Hello是类名。在main()方法中,用标准输出语句System.out.println()在屏幕上显示一个字符串“Hello~”。 5 文件名为“Hello.java”。 Applet是可以嵌入Web页面的最小应用,它不能独立运行,必须嵌入到超文本(*.html)中,游浏览器中的java解释器解释执行。Applet只是Application的特殊形式,要编写Applet,必须知道如何编写Application。如显示字符串“Hello~”的Applet应用程序如下: import java.awt.*; import java.applet.Applet; public class HelloApplet extends Applet { Public void paint(Graphics g) { g.setColor(red); g.drawString(“Hello!”,20,20); } } 其次,在编写程序时可以加入注释部分,以说明变量的含义、语句的作用和程序段的功能,从而帮助人们理解和阅读程序。当然也可以不加。因此,一个好的程序应该有详细的注释。在添加程序注释时必须注意,注释内容一定放在“/*”和“*/”之间。而且“/*”和“*/”必须成对出现,“/*”和“*/”之间还不能有空格。注释部分只适用于阅读,对程序的运行不起任何作用,这个和在C语言中发挥的作用可以说是一模一样的。 1.2 提高应用java语言的能力 现在的java技术成出不穷,java ME 、 javaEE、安卓等技术在当今的计算机领域占有很大的市场份额,那么java SE 是这些java技术的基础,没有好的基础其他额定一切都是空谈,所以本人认为初学java的时候,做一个基于java SE的文本阅读器有利于对java基础的巩固,更有利于以后java的学习,这个java文本阅读器程序虽然说采用了最底层的java技术,但是其中还是有一些亮点的,如书签功能,导入和删除书的功能,以及Jtree,以及Jtable的应用。研究目的者更为明确,首先,作者初学java想找个项目练练手,看自己学到了什么,其次,用自己写的小说阅读器来看一些书籍,岂不是一种享受,最后,当然是因为老师布置的java课程设计的作业.Java语言是一门优秀的计算机程序设计语言。是目前软件设计中最具生命力的计算机编程语言。不仅可以用来开发大型的应用程序,而且,也可以用在网络程序设计中。当前Java已成为网络时代最为重要的编程上具之一。为了适应企业的需要,提升毕业生的就业率.几乎所有的大、中专院校都竞相开设了Java语言程序设计课程。而这种市场对Java人才的需求使得学生不得不具备:沟通能力,Java软件开发的动手能力,Java软件开发的创新能力,同时还要具有社会的适应能力。加强实训在Java的学习中.我们对理论的学习已有一定的基础,对项目也有了一定的认识。以课程设计开始从而进一步提高我们的实践能力,使我们在毕业时至少有相当于半年的Java软件开发的能力,更进一步适应社会和企业的需求。通过对我们Java能力的培养提出几点看法,可以提高学生对Java语言学习的认识以及增强自学性。也可以提高学生对所学知识的综合运用, 6 适应社会和企业的需求,达到高校的培养目标。 这门课是对大二的java的一个重要的补充,与理论学习骑着相辅相成的作用。通过本程序的训练,我们增强对编程的进一步认识,进一步掌握编程思路,是我们具备了基本的程序设计与调试技能,加强了相关概念的理解更准确的掌握了java语言的特点及语法,熟练掌握了java语言的编程方法,具有运用java语言解决和处理实际问题的能力。培养学生程序设计的逻辑抽象能力和编程素质,使学生养成良好的程序设计风格,培养学生的自学能力,获取计算机新知识、新技术的能力,使学生具备一定的实践能力和创新能力,为将来打下坚实的基础。 上机实验之前,学生应该为每次上机内容做好充分的课前准备,对每次上级完成的内容都要进行认真的分析,选择合适的算法或者说是代码,列出具体步骤,写出符合题目要求的程序步骤。按照实验目的和实验内容以及思考题的要求进行上机操作,录入程序,编译程序,反复修改,知道使用要求的算法,使程序正常运行得出正确的输出结果为止。根据实验结果,写出实验报告。实验报告应包括:实验目的,程序清单呢,运行结果,所选取的算法及其优缺点、以及通过上机取得的结果得出的哪些经验。根据各模块的,划分成基础型、应用型、综合设计型到创兴提高的循序渐进的四个层次。基础型实验为应知的基础语法实验。 二 课程设计要求及分析 本课程设计是重要的实践性环节之一,是在学习完《java程序设计使用教程》课程之后进行的一次全面的综合练习。为了能够更好的掌握java语言程序,要求必须选出具体的题目,这样才能通过自己亲手编写程序,掌握编写程序的方法及要点。 要求在学生能够较熟练使用java程序设计语言进行软件代码的编写,同时还要具备较好的项目分析的能力,加深对相关课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统的练习。 1) 掌握Java的语言规范,面向对象的核心概念和特性。 2) 掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等。 3) 掌握Java应用软件的开发环境和开发过程。 4) 掌握基于Jsp网站的开发环境和开发过程。 5) 掌握面向对象的思想和程序设计方法。 2.1 题目的要求及分析 我们小组选的课题是《编写小说阅读器》 要求: 编写界面良好、操作方便的文本书籍阅读器,应包含各种模式(分页、全屏、文章结构控制等)、有书签、有记忆、有各种阅读模式的功能。 提示:使用文件输入输出流、图形用户界面等技术。 由用户打开之后,程序能够打开小说,并且可以翻页,要求要有上一页、下一页、书签、自动阅读等各种模式。对于这样的程序要求,首先能够让读者读懂,能够单独理解该程序,明白它的功能。由于java语言,乃至所有的程序语言都与你以前所接收的知识尤其是一些高中的基本知识背道行之。题目的主要部分,即题目所揭示的写作对象或写作的基本内容。对于此题目,要求编程人员必须从程序中实现其所有的功能。题目既是一个程序最重要的一部分,若是偏离了程序题目的要求,即就是此程序没有实现其要求的任何功能,要学会对一 7 个程序的题目做起应有的内容。 题目要做到特性和有构思特性和构思可以激起人们心里的潜在愿望,并且愈加有吸引力,然则笔者不倡议一些另类的题目,不倡导运用低俗的词语来吸引眼球,并且这类题目往往都邑被编纂直接枪毙,就算可以逃过编纂的眼睛,那么这些低俗的文字吸引到的人群对你的网站又有什么协助呢?往往还会拔苗助长,要晓得目前我们正在反低俗,正在进行新一轮的整风活动,所以低俗的题目不克不及要! 《小说阅读器》,要有各种阅读模式。题目明确规定是小说阅读器,而且要有分页、全屏、文章结构控制等)、有书签、有记忆、有各种阅读模式的功能。所以在做此程序时一定要注意这些功能。这些点点滴滴都要求要在程序中体现出来,每一点都应有他自己的java语句,用来实现其特有的功能。题目实践上就是你文章的高度归纳综合,是浓缩的精髓,当然,文章要题目与内容相符。 2.2 程序内容的分析 对于此程序,每一行自然有其每一行的作用与意义。 程序开始的几行是对于在这个程序中应用到的所有的java包做了一个定义。如javax.swing是扩充和增强图形用户界面功能的类库;java.awt就是抽象窗口工具包, public class Read_book extends JFrame 这一句就声明了Read_book这个类,而且它是继承与JFrame这个父类的; 里面的所有private都是声明类的私有成员;static是声明静态成员,也称类成员;final是声明最终变量或常量,声明最终类、最终方法; 接下来就定义了在这整个程序中用到的所有按钮(Button)、标签(Label)以及文本框等; public Read_book()这一句声明了Read_book这个方法;然后就在这个方法里面开始定义窗口、窗口的大小,位置等等。 2.3 程序运行环境 运行于Windows系统; 在Jcreate中执行; 三 课程设计内容 课程设计内容这部分包括了课程的总体设计和详细设计,以及程序的调试与测试。为了能更明确说明程序的内容,下面我以小节的形式一点一点给出程序内容及功能的说明。 8 3.1、总体设计 根据题目要求,要设计一个程序,《小说阅读器》要求:制作一个小说阅读器,要有上面提到的各种功能。在编写完程序之后经编译、连接等步骤检查程序是否有错,若没有错就应进入用户界面。进入界面之后就应该有程序所要求的功能模块。 3.1.1、设计框架 编写程序之前就应该在纸上画出 要实现的各个功能模块以及面板布 局。 编写程序,在编写时一定要根据自 己的设计框架完成各个功能模块的代 码。 在编写完程序之后就应该上机调 试,要在运行界面显示各个按钮的功 能。 调试程序时,在进入运行界面后, 界面上就出现“欢迎使用小说阅读器” 字样,这时就点击开始按钮开始阅读。 不想看时就可以点击退出按钮退出 阅读小说,关闭运行界面。 3.1.2、系统功能模块图 每个程序自然都会有其自己的功能,所以每部分也就会有它对应的模块图。这个模块图就是他所实现的功能了。对于《小说阅读器》这个java程序,它也有它的功能模块图。其显示的内容应该有,“开始”、“上一页”、“下一页”、“退出”、“next”等,当读完 9 小说或者是不想读的时候直接点击退出按钮即可。 1图为当点击“开始”按钮后出现的界面 2图是再看下说途中的界面 10 3.2、详细设计 3.2.1程序的GUI设计 图形用户界面采用的是流式布局管理; 在窗体中首先选择放入一个标签label,然后定义它在窗体中的位置、大小以及标签所显示的内容为“欢迎使用我的小说阅读器”。 然后放入文本框TextArea,以读取小说,在这个里面同样要定义好它的大小、位置 。之后在面板中要使用的按钮Button,同样的依次定义它在面板中的位置、大小、以及在其上面要显示的字样,而且还要一次写明各个按钮索要执行的功能代码。 3.2.2 功能模块的说明 改程序虽然简短,但每一段都应该有应有的功能多的。这个在前面的内容分析中我已经分析得很详细了,这里就不在解释。 (1)main()方法是每个程序必备部分,而且每个程序中只能有一个main()方法。 public static void main(String[] args) {Read_book rbook = new Read_book(); 11 rbook.setVisible(true); } 每一个java程序都必须有一个且只有一个主方法。一个程序中可以包含任意多个不同的类名,但只能有一个主方法。 (2) 针对各个按钮Button要实现的具体功能说明如下: Button1开始按钮;在这个里面要实现当点击此按钮后就能够读取小说,在读取小说时定义好读取的方式,在此程序中采用的是readline的读取方式。 在没有指定读取的行数的情况下时就执行下Integerline_str_i=fcon.line_count; 如果指定了读取的行数时就有执行下面面一句 Integerline_str=Integer.parseInt(jTextField.getText());这就执行了读取小说的方式; Button2上一页按钮;在这段代码里面首先还是定义好此按钮的大小、位置等,接下来就具体实现此按钮的程序功能; Integerline_str=Integer.parseInt(jTextField.getText())-1; jTextField.setText(line_str.toString()); fcon.reset();他执行的是上一页,当点击此按钮时,小说就会翻到上一页,继续点击就继续翻页至上一页,它的实现是采用减1的方式; Button3下一页按钮;在这段代码里面首先还是定义好此按钮的大小、位置等,接下来就具体实现此按钮的程序功能; Integerline_str=Integer.parseInt(jTextField.getText())+1; jTextField.setText(line_str.toString()); fcon.reset();他执行的是下一页,当点击此按钮时,小说就会翻到下一页,继续点击就继续翻页至下一页,它的实现是采用加1的方式; Button4停止按钮;它的功能是当点击此按钮时就不能继续读取小说了,必须再点击ok按钮之后才能继续;用来停止读取的功能代码时page_tag=false;即就是读取的页码是false; Button5退出按钮;它的功能就是当每个点击此按钮时就退出了读取小说进程,它的实现也就是点击此Button时读取的小说行数为0,直接就退出,它的具体实现是 dispose(); 就以一个dispose()来推出此程序了; 12 3.2.3、工作流程图 开始 打开文件 文件是否 存在 点击“开始” 按钮 上一页 下一页 停止 Ok 退出 停止 Ok 退出 13 3.3、调试与测试 编写完之后,就应该上机调试,这样才能发现错误并改正。Java语言的功能强 ,使用方便,得到广泛的使用,程序设计员可以编写出能解决复杂问题的,运行效率高的,占内存少的,高质量程序。Java是函数式的语言,利用标准库函数,可以实现模块化,将许多函数组织成一个大的程序,但由于java的灵活性,使java编译程序对语法的检查不如其他高级语言那样严格,往往会出现一些意想不到的错误。 3.3.1、调试过程及数据结果的分析 所谓程序调试,是指对程序的查错和排错。调试程序一般经过以下几个步骤: 一、进行人工排查,即静态检查,在写好一个程序以后,不要匆匆忙忙上机,而应对纸面上的程序进行人工检查,这一不是十分重要的,它能让我们发现由于疏忽而造成的多数错误,如某条语句后忘写“;”,或“{}”没有成对出现。为了更有效地进行人工检查,所编程序应力求做到以下几点: 1、应该采用结构化程序方法编程,以增加可读性。 2、尽可能多加注释,以帮助每段程序的理解。 二、在人工检查后,才可以上机调试,通过上机发现错误成为静态检查,在编译时,给出语法错误的信息,它包括哪一行错及错误类型,可以各根据提示的信息具体找出程序中出错之处并改正,应当注意的是:有时提示出错行并不是真正出错的行,如果再提示出错的行上找不到错误的话应当到上一行再找,另外,有时提示出错的类型并非绝对准确,由于出错的情况繁多而且各种错误互有关联,因此,要善于分析,找出真正的错误,而不要只从字面 意义上死抠出错误信息。 如果系统提示的错误信息多,应当从上到下逐一改正。有时显示出一大片错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对所用变量未定义,编译时就会对所有含该变量的语句发出出错信息,只要加上一个定义变量,所有错误就都消除,不用再检查其他。 三、在改正语法错误后,程序经过连接就得到可执行的目标程序。运行程序,输入程序所需数据,就可得到运行结果。 数据结果分析: 对于此程序他的数据较为简单。有时,数据比较复杂,难以立即判断结果是否正确,可以事先找出一组具有特征的数据,输入这些数据可以很容易判断正确与否的结果。运行结果 14 不对,大多属于逻辑错误,对这类错误往往需要仔细检查和分析才能发现。可以采用以下办法对程序结果进行检查: 一、将程序与流程图仔细对照,如果流程图是正确的话,程序写错了,这样就很容易发现了。 二、如果实在找不出错误,可以采取“分段检查”的方法。 三、如果在程序中没有发现问题,就要检查流程图是否有误,如有则改正之,接着修改程序。 总之,程序调试试一项细致深入的工作,要求写程序者必须认真对自己的程序检查。 3.3.2、调试所遇问题及解决措施 一、忘记定义变量。Java要求对程序中用到的每一个变量都必须在本函数中且运用前定义其类型。 二、输入与输出地数据的类型与所运用格式说明不一致。编译时不显示出错信息,但运行结果将于原意不符。他们并不是按照赋值的规则进行转换,而是将数据在存储单元中的形式按格式符的要求组织输出。 三、对应有花括号的复合语句,忘记加花括号,括号不配对,当一个语句中使用多层括号时常出现这类错误。在用标识符时,忘记大写字母和小写字母的区别。编译程序把字母认作是两个不同的变量名处理。 总之,程序是语法的错误还是逻辑错误,都要进行逐一分析并处理,语法错误是违背了该语言的规定,逻辑错误是由于算法有错或编写程序有错。 四 设计心得与总结 通过了一学期的java程序设计学习,对java语言有了不少的认识和收获,而且通过要学期自我实践,我也产生了很多感想。对java语言的掌握提高到了一个新的水平,能够利用java语言编写出一个实用的程序,很大程度提高了程序综合设计能力、分析能力和编程能力。掌握了很多新的编程技巧,积累了一些编程经验。以前学过一学期的java语言,现在才发现原来那只是对java语言的一个很浅薄的认识,仅仅对java语言的语法有了点认识,根本就不知道java语言程序编程的方法或者说是编写java程序的任何技术。经过了这一学期的编程学习,对java语言程序有了更进一步的认识,而且也得出了不少结论。 15 4.1 心得体会及收获 在前期准备过程中,先策划好自己所要表达的内容,主要实现哪些功能,如上一页、下一页、书签、退出、打开、保存等,在编写好这些功能后,又是怎么样在面板中布局这些都是我们事先要考虑的问题,只有这样我们考虑周到了,明白了,才能顺利实现更多的功能,达到事半功倍的效果。 对于java语言编程,我们决不能只看不编写。只有自己亲手做了才能体会到学习java语言编程的快乐以及奥妙,也只有自己亲手做了才能学到更多的知识,自己才可以学会应用java语言的知识来解决我们现实生活中的一些实际问题。 学习java语言已经快一年了,这一年中,领会到它的博大精深,而我只是学习了皮毛而已,许多人把其一生奉献给它,它是另一个世界的通行证。 从接触java语言那天起,从无知到相识,曾经有过多少迷茫的日子,多少次想和你说再见,但对你的崇敬与喜爱迫使我一步步坚持下来了,从小就有一个简单的梦想,但实现起来就变得不现实了,所以经常想着如何利用某种东西或者是某种工具能够解决我们自己不能解决的事。出于这种想法,在进入大学的校园里,大一就接触了java语言,就认识了java语言。就在浩如烟海的图书馆里寻找端倪,从翻动自动化原理的书籍开始,现在才知道当初自己有多么的天真无知,多么的好高骛远,总以为,只要心中有着满腔热血,世界就会因此而改变,在花费大量的时间来对自己水平所不及的书走马观花后,便开始觉得自己有些走火入魔的境地,那几天,浑浑噩噩颓废无比,心里特别的难过,无助与失望,就这样,毫无所获的告别自己的第一个阶段,还是不肯认输,也许是社会的就业压力,我又一次捡起了信心,很明显的知道自己的学习方法出了很大的问题,于是,便开始改变策略,从最基础的开始,于是我便和java语言相遇了,这一次教训:开始学习时,要脚踏实地充分利用手头的资源,找到最简单最直接的学习方向,别把时间花费在哪不着边际的研究上,那样会让人头疼。 通过本项目的练习,发现自己在java基础上还是很薄弱,对一些java类掌握的还不够扎实,对一些知识还不够了解,这是本人第一次写这么大的程序,大概有1700多行代码,发现写程序和读程序还是有着本质上的区别,自己敲的代码太少,同时这个程序还不够完善,如全屏功能还没有实现等等,在以后的java学习中需要更加的用心去学。 下面说一说我对此次项目的完成的一些收获吧。 1、首先项目的需求分析应该要认真的完成。因为我的项目的需求分析就没有很好的完成,导致后来又不断地去修改框架,增加功能,建立表。就说权限那点,我刚开始并没有考虑到这方面的问题,后来经过老师的指点,将这段功能完成,其实做起来很简单的。只是刚开始认为很难,没有做。后来又添加了一个管理员的表,修改了界面。很多地方都有改动。这也算是一个教训吧~所以说在开始项目前最重要的是项目的需求分析,这也是我以后开发项目的一个最首先关注的事情,总是听老师说需求分析是最重要的,但是刚开始没有在意,不过现在终于体会到了,也算不晚。 2、对于面向对象思想,我刚开始还是没有更好的利用和理解它,在我做完之后,我认 16 为在java中,它是一个很核心的东西。只有理解它,才能将一个项目做的更好,使这个项目具有面向对象的各种优点。我刚开始就是对它理解不透彻,做出来的项目来说,只算是具备了半个面向对象吧,导致我所写的代码中冗余度很大,很多的代码都重复了。我认为在学习面向对象语言之前真的有必要深刻的理解面向对象思想。其实,只有在写更多的代码才能运用它。面向对象思想真的很重要。 3、还有很多知识要学,不如关于数据库方面,我认为我上学期所学的课程《数据库系统概论》没有认真的去学,在数据库设计方面,没有更好的设计各个表之间的关系,导致后面遇到表之间的关联问题也没有很好的解决,在课下想抽出一段时间好好地学习一下数据库。这也算是面向对象思维的部分吧。我完成本项目的感受是只有设计出更好的数据库,才能更好的完成该项目。 4、敲代码的时候,我会感觉时间过得好快的不一会就三到四个小时过去了,但是有时候真的没有察觉,后来仔细想想,或许是真的全身心的投入,给我的感觉真的很不错。所以说,真正的做好一件事必须要全身心投入,认真的去做,希望我会继续坚持下去。 5、通过本项目的制作,我认为要想成为一个真正的编程高手,只有不断的做项目,不断地写代码…这是我对此次项目的完成最大的收获,只有在项目中才能更好的体现一个人的能力和学习到更多的知识,只有在代码中才能提高自己的能力,观看理论是不管用的。这对于我来说是一个深刻的教训。 我学习java主要是通过看视频,抱着java书看,学了能有个半年吧,并且上学期在学校也花很多的时间去学它,但是很少去敲代码(敲的代码也都是书上的),感觉java的东西太多了,怎么记都记不住,更不要提到怎么用了,但是确实了解不少理论知识,但是没有开发项目的经验。但是过了一段时间后,很多的理论知识都忘记了,甚至一些自己敲过的代码都忘记了,真的是苦恼了很长的一段时间。就比如说我上学期连接数据库的时候真的让我很费脑筋,一个后来认为很简单的事情竟然浪费我当时一周的时间,现在想想都很恼火。Java这门语言,理论和实践是完全不一样的,只有实践了,你才能真正的去理解和吸收这方面的知识。真的是个沉痛的教训,别人用四个月就能了解完java(包括javaSE、javaEE)而我花了学的这么长时间感觉收获很少,看着那些视频里一般情况下一段的学习就是几天,人家每天写将近十个小时,而自己却狠不下心来,认真的多学几个小时,确实也是很丢人的事情。所以,必须要多实践,多敲代码,多做项目。实践是检验能力的唯一标准。通过此次项目的开发,我真的感觉我在java上有提高了一个等级。有了很强的基础,那么对于以后的java EE的学习,我想会更加轻松吧。 说起着手学习,最开始,现在也觉得有点可笑,那便是盲目,我自认为自己不够聪明,但我愿意花费比别人更多的 时间,吃比别人更多的苦,在初期还是用高中学习所用的那套方法,在图书馆随便挑了几本书,就开始自学,一般的课本就是按java语言的历史及意义开始,之后就介绍数据类型,顺序,循环,条件语句,之后就是函数,数组,指针及结构体等,最开始的一个礼拜,死读书本的第一章,那时几乎都快把那些内容背下来了,后来就开 17 始看数据类型,如果要背这些知识我自认为,那他的记忆水平是相当的高了,至少我是不行的,所以这样注定了失败,不久就心灰意冷了,那个阶段,心中的疑惑很多,甚至连什么是java语言都不明白,书上讲的是程序,然而程序又是什么呢,没见过,是自己不知道,究竟是怎么回事,语言,而且是计算机语言干吗要我们人学习呢?现在才知道我们人类不但要学习计算机语言,而且还要精通计算机语言,因为计算机语言对我们在日常生活中的作用是如此重要。 4.2 总结 这次的课程设计综合性比较强,尤其在数据库的设计与应用方面我更是学到了不少。在整个开发过程中我碰到了很多问题,有些问题很难解决,当然有些问题是由于粗心或基础知识掌握不扎实造成的,经过多次询问以及查询资料还是解决了不少问题,在解决问题的过程中学到的才是做多的,不论做什么事情都一定要认真对待,在实际应用知识之前也一定要认真掌握基础知识,熟悉基础语言,从而在实践中才能灵活应用。 Java语言是一门最基础的语言,也是一门广泛使用的语言。所以学习java语言义不容辞。通过这段时间的学习,我对java语言有了进一步认识。 (一) 学习一门语言,就是要按照它的语法来编程。特别是学习java语言,要想学好java语言,就必须要编程,当然就要上机操作来验证你程序的正确性。所以上机非常重要,通过编译、连接、运行等步骤来执行你所写的程序,完成你所写程序的目标,最终达到你的目的。而且通过执行程序,你会发现程序中的错误,从而使你了解你所学知识中的不足,同时,要学会根据编译时提示的错误来改正程序中发生的错误,以便下次不会再犯同样的错误。 (二)java语言的语法部分。这部分内容是学好java语言的基础,只有学好了这些语法,才会写程序,看程序。所以对一个初学者来说,这部分内容还是挺重要的,所以要扎实地熟悉每一个语法,并能根据这些语法来编程。但如果有学过java语言,或是以前有学过其他语言,那么学习这部分应该没有很大问题。就应该在java语言编程方面投入更多的时间啦,学习java程序的设计。掌握编写java程序的一些方法和要点,学会用java编程来解决一些实际生活中的问题。 (三)学习java语言始终要记住“曙光在前头”和“千金难买回头看”,“千金难买回头看”是学习知识的重要方法,就是说,学习后面的知识,不要忘了回头弄清遗留下的问题和加深理解前面的知识,这是我们学生最不易做到的,然而却又是最重要的。比如:在java语言中最典型的是关于结构化程序设计构思,不管是那种教材,一开始就强调这种方法,这时也许你不能充分体会,但是学到函数时,再回头来仔细体会,温故知新,理解它就没有那么难了。第一次自己完成一个完整的项目,我的心里充满了无比的喜悦,对于我来说它是我人生中第一个独立完成的小项目。虽然说它只是一个小的项目,并且我完成的项目中有一些没有发现的Bug,但是它更加坚定我在java这条道路上的继续前进精神。 18 在当初我们开的面向对象java课程中,我们当时认真听取老师讲的关于java理论知识,在实践过程中,我们只是完成了计算器的程序代码的编写。但这些并没有让我们真正的体验到关于一个项目的开发流程,并且当时所写的代码也很少,虽然对java只是在理论知识上面有很好的见解,但并不代表我们对java有真正的理解。在大二期间,我很喜欢学习java,很认真的在学,在后来的课程中也接触到过C++,.NET,但是对java情有独钟,看了很多关于这方面的书。由于一直没有接触过一个真正的java项目的开发,我非常的珍惜这次机会,因为我想我将来会在java技术这条道路上一直走下去。让java陪伴我的职业生涯。 在即将走向社会的我们大三下学期的时候,我很感谢学院和老师对我们09级的关心,让我们在毕业之前能有独立的项目开发经验,不光是为了我们在暑假的实习做了好的铺垫,而且为将来走进公司研发项目打下了良好的基础。我会更加努力地去学习java,提高自己在这方面的知识。将来用java去做更多自己想做的的事情,完成更多项目的开发,写出更多更好的实用软件。 Java语言功能丰富、表达能力强,使用灵活方面应用广泛。目标程序效率高,可移植性好,既具有高级语言的特点,又具有低级语言的许多特点。程序设计是一门实践性很强的课程,既要掌握概念,又要学习动手编写程序,还要上机亲自调试、运行。学习java语言不仅仅要掌握java语言的理论知识,还要有效的运用所学的知识,用来帮助我们解决一些实际的问题。java语言生成目标代码质量很高,程序执行效率高。为了使计算机能够按照人们的意愿进行工作,必须根据问题的要求,编写出相应的程序。 五 建议 学习java语言都这么长时间,有时感觉就这样学习java语言挺好的,但有时候发现学习一门语言,特别是计算机语言,如果经常这样下去,我向我们可能学不了多少东西,为此我对学习java语言有如下建议: 一、首先要给我们足够的时间,让我们自己上机试着编写一些小的程序,要以实例为引导,激发学生学习兴趣为了激发学生对java语言的学习兴趣,教师要在教学方法与手段上多下功夫,加强对学生的引导,在讲清语法规则的基础上,可通过许多具体有趣的实例,如“兔子问题”、“水仙花数”、“竞赛记分”等来培养学生的学习兴趣,综合利用板书、课件、程序演示等手段,做好师生互动,使学生加强理解和记忆。整个教学过程中把解题思路和算法当作授课的重点,从而让学生明白如何分析并解决实际问题,逐渐培养学生进行程序设计的正确思维模式。 二、注重上机教学,通过程序调试加强容易被忽视细节的教学 java语言虽然说与自然语言和教学语言十分接近,但在实际中却存在着许多“细小”的却又十分严格的差异。由于它的细小,常常不能引起注意而被忽略。如类、方法、变量、 19 分隔符等,学员在学习中,常常因重视不够不能正确理解或没有形成较深印象,造成程序设计时不能正确使用或习惯地用数学方法代之。 因此,教师在讲授java语言课程时,不能忽视实践课的教学,尤其是学生上机辅导课的教学。很多教师认为,上机辅导课就是让学生自由练习,及时为学生解决问题,实际上这种教学辅导方式是不合理的。上机辅导课中教师一方面应反复强调java语言的“书写格式自由但一点不能差”的特点,另一方面应视具体情况通过演示程序调试的方法加强容易被忽视细节的教学. 20 六 评阅意见 教师签名: 年 月 日 参考书目: 【1】 叶核亚著.java程序设计(第三版).北京:电子工业出版社,2010年 【2】 席国庆.《深入体验Java项目开发》.北京:清华大学出版社,2011年 【3】 张孝祥.《java培训教程》.北京:清华大学出版社,2003年 【4】 王保罗.java面向对象程序设计[M].北京:清华大学出版社,2003年 21
/
本文档为【小说阅读器报告Java语言课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索