Java课程学习总结
在这三个月左右,通过老师的授课和Pta作业的阶段练习,我由原来的不清楚到现在的了解以及能够熟练地运用,学到了很多知识。特别是从面对过程到面对对象这一思维的转变,OO程序设计的复用性,即便课程学习临近尾声,学习过程还没结束,仍有很多地方可以提高。
一、课堂学习和Pta作业总结
因为疫情的原因,老师开始用网络教学,这是比较吸引人、与时俱进的,虽然不能有面对面的直接感受,但我发现网络教学可以保留课堂回放,课上讲过的内容如果有不懂的、不小心忽略的或者没有来得及做笔记,都可以课后反复查看回放,有利于学生巩固课堂知识。课堂和练习相结合,将课堂学习的理论知识运用到实践中,思考和不断地修改代码debug,让我们的能力在短时间内提升。
我总结有以下几个模块
1、Java概述、基本程序设计、语句使用。
开始学习的是比较基础的,Java除了框架有其本身的要求和特殊的标识符,前面的时候经常会有一些细节的地方遗漏和弄错,pubic class 类的类名没有和文件名相同,Java区分大小写,为不同标识符。在结构内部的语句,例如:if-else、switch-case、for循环等等的用法但是和C语言一样的,所以在这一部分的内容还是能够较快接受和掌握。
Pta-homework01-02中的题目大部分内容对数据类型、Java基本语句的熟练运用,对于刚入门Java的人来说,只要对题目要求清晰后,并想出数学思路按步骤一步一步解决问题就可以了。不过我在这两次作业,还是遇到了一些问题的,Pta本身的测试点不可见,所以需要花更多的时间根据运行后没过测试点的反馈,从相应的模块中反复修改测试,还是会有一两个地方没达到要求。
2、Java中基本的对象、类、方法。
正式学习Java中的模块,这一部分蕴含的内容比较多,了解到对象的时候,会觉得这个太抽象了,跟类的概念区分不了,关系复杂很难理解,会想“对象到底是什么东西”,很多地方都需要new出一个对象才行,通过后面题目的练习结合老师课堂讲解,可以理解为对象是类的实例,类是一类事物的描述,而对象是这一类其中的一个个体;类中包括属性和方法,构造方法是用来初始化对象,方法可以理解为对象的行为。类和类之间的关系常见的有依赖(即使用)关系、关联关系(单向关联、双向关联、自关联)、聚合关系、组合关系,在一个程序中,会有很多类,这些类之间的关系可以通过UML类图简洁明了地展示出来,后面对写代码前思路的分析和整理起很大的帮助。
Java类库中有很多类,用于Java程序的开发,学习到的类有Math、String、Array、BigInteger等,这些类可以直接使用创建对象,进行数据类型的转换和操作,主要是在键盘输入,存储数据,需要根据题目的需求选择使用合适的数据类型,并按要求对数据匹配分析以及转换。
Pta-homework03开始着手于利用类及各类之间的关系来解决问题,培养面对对象设计的思维,这里的几个小题都是环环相扣,一点点增加难度,所以我前面日期的算法没有弄好,导致后面的题目没有办法进行。以类为返回类型的方法和传入类类型的参数的方法,我用了比较多时间在这一块纠结。
Pta-homework04-05里面对于我难度比较大的的是数据输入处理和正则表达式这两块,其中水文数据校验及处理、一元多项式求导这两题,输入字符串处理一直没成功,各类的功能和联系不太明确。
3、类的继承、多态,抽象类和接口,方法的重写和重载。
面对对象程序设计的三大支柱:封装、继承和多态。这些都让Java编程能够更加便利,面对对象设计原则的单一原则、开闭原则等。
Pta-homework06-07-08雨刷系统这题我在Eclipse运行成功,然后在Pta测试点很多过不了,统计Java程序关键词的次数也是这样。
4、异常处理和文本I/O
一种常用的保护代码正常运行的机制:try-catch-finally,类用throws、方法用throw。在使用文本输入输出时,创建的文档因为一些问题,创建失败,或者是很容易找不到文档,这一点需要注意,作为程序的首要步骤。
5、JavaFX
JavaFX用于开发用户界面,Stage、Scene、Pane等之间的关系需要弄清楚,Button等结点(事件源-事件-事件处理器)使操作后,程序能够有相应的反应,另外还有一些特殊的,Shape类的使用,让界面中出现要求的图像,更加美观,让用户体验更佳。
二、学习难点
字符串处理、正则表达式的匹配这两大块是我在写代码时碰到的很大的问题,很多题目开始时就需要字符串处理,所以选择数据类型不合适或处理失败,就没有办法让我后面的代码实现,在这点我通过不同的题目要求分析练习,正则表达式也是如此,很多地方查阅才清楚。
在写代码前,提炼题目中的对象,画出UML类图,这步我经常会忘记,带入面对过程的思维,导致类没有遵循单一原则,程序代码结构混乱,通过各类之间的关系,达到想要的效果,这里我需要多加总结。
三、学习收获
通过本课程的学习,我已经对Java及其框架有了较为清晰的认识,能够熟练运用Java,掌握了面对对象设计的思维,跟C语言除了语法不同,还存在的一些不同之处,Java没有指针,线程封装,在构建复杂事物逻辑方面具有一定的优势,另外,编程的严谨性在不断地修改代码中体现了出来,一些测试点没过时,只需结合题目输入输出要求和测试结果进行分析思考,有的时候稍微修改一下代码,测试点就能够过,还是比较有成就感的,在一些地方只是差一点点,多试几次就能成功,获益匪浅。

浙公网安备 33010602011771号