0.前言

本次博客主要针对整个学期的Java过程中遇到的一些问题、在这个学期的学习中获得的感受,对Java课程的个人理解和自己的一些理解和体会

1.作业过程总结

①总结三个阶段作业之间的知识迭代关系;

在这三个阶段的学习中、作业难度在一步步的提升,所设计的知识点也在逐步的增加。第一阶段的作业只是很基础的知识,和C语言很相似,不需要很多的关于Java的知识,很容易过。第二阶段的作业则就是在第一次作业的基础上添加了很多Java的知识点。加入了正则表达式和多态和继承的知识,这就使第二阶段的作业相较于第一阶段的作业难度提升了一个层次。第三阶段则又是在第二阶段的基础上,对难度进行了又一次的提升,在第三阶段的作业中,我们需要充分利用List、Map等知识点,同时对正则表达式、继承多态等知识进行混合运用,这对我们来说是个挑战也是一个很大的提升。

②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;

在一个个的作业中、不断的运用到封装性、继承性、多态性等知识点,在每一次的运用中,对这些知识点的理解逐步加深。每一次的作业中基本上都会运用到这些知识点。在实践中,对这个知识点的用法和注意事项牢记。

③作业过程中遇到的问题及解决方法

1、正则表达式的使用:第一次使用正则表达式时,根本不知道该如何下手,只知道一些最基本的数字和字母的使用,但对连续的数字和字符串的判断则就无从下手,只能疯狂看网上的实例,再通过正则表达式的在线测试工具进行测试,才能正确写出正则表达式。在对正则表达式的匹配时,也遇到了很大的问题,正则表达式的格式写完成了,但却不知道如何将待测字符串与正则表达式进行匹配,这也是当时的一个很大的问题。最后还是通过同学的讲解才得以了解。

2、对List、Map的使用:在刚开始使用List和Map的时候,对这些储存方式的很多特性都不太清楚,如何增加元素、如何取出元素、如何遍历元素,这个都是当时存在的问题,特别是Map的value和key值之间的关系,以及通过key的值取出value,这也是一个很大的问题。后面查询了很多关于Map和List的用法,对他们的方法进行了了解,以及在泛型状况下的使用。

④每次作业花费的时间比例

第一二次作业花费时间较少,第三次作业则相较于第一二次作业增加了许多的时间。

⑤对编程过程的严谨性的认识及教训

1、在码代码之前,一定要先理清思路,不要思路还没有理清楚,就凭自己的一时感觉下手,这样可能在你写到后面时才发现自己的思路代码有问题,甚至需要重写,这样你就会浪费很大的时间和精力,所以先理清思路很重要。

在水文数据这次作业中,再没有理清思路时,就按自己的一时想法进行了编写代码,最后就导致在编写到后面的时候,发现自己原来的想法错误,代码无法继续编写,只能重新编写。

码代码时,一定要注意一些小细节,不要粗心大意,因为也许有时候你程序总是有问题时,就是你粗心不小心写错的原因,但查找起来却是十分的麻烦,这样就是在白白浪费大把的时间和精力。

2、在对一些变量进行命名时,要做到见名知意,不要自己想用什么名字就用什么名字,这样在变量很多的时候就容易发生错误。我之前就有一次,对字符串分割后存储的变量名没有命名好,以至于自己对这些变量名都糊涂了,老是用错了变量,浪费了很多时间。

3、在使用List、Map等的时候,如果是要存入已知类型的数据时,一定要对其进行泛型,这样才可能使你存入的数据都是该类型的,不然很可能你存入了一个其他类型的数据,然后没有报错,自己也不清楚,最后运行错误。这样的错误也是需要很长的时间去查找的。

2.OO设计心得

在这三个阶段的学习中,我对Java面向对象设计有了更加清楚的认识,从最开始的面向对象思想到封装、继承、多态三大特性到七大原则,在每一次的作业中,我都能更进一步的对这些知识进行了解。在设计Java程序时,要遵循这些原则和特性,这样会让你设计出来的程序质量更高,也会让你的程序更易于扩展和维护。

3.测试的理解与实践

1、测试对于Java程序可谓举足轻重,一个好的测试能够很好的反映出编写的Java程序是否还存在着某些问题,通过测试出的问题,然后再对代码进行修改和完善。

2、好的测试能够让你明白自己的思路错误在什么地方还存在着哪些不足,这不仅能够让你对这次的代码进行改善,还能让你的思维进行扩展。

4.课程收获

Java课程即将结束,在这个学期中我也学到了很多的东西,从最开始的C语言的面向过程到Java的面向对象,从对Java的一无所知到现在能够编写一些稍复杂的的Java程序,在这个学期中,我学到了很多。

1、明白了Java的面向对象思想、三大特性、七大原则。字符串的使用,如何用正则表达式对字符串进行判断、如何用List、Map等对数据进行存储。

2、在Java这门课程中,我学会了如何进行自我学习。老师不会教你所有的东西,很多的知识都是要你在实践中自己去探索的。最开始的使用,我并不知道该如何进行学习,当碰到老师没有提到过的知识点时,就会感到慌张,然后就一个劲的去问同学。现在,我学会了自己去网上查找相关的知识点,遇到没见过的知识点时会自己上网去查询,了解它的使用方法,并进行实践。

3、在Java这门课程中,我的思维得到了很大的提升。最开始的我,只会看到一步写一步,不会对题目进行全面的思考,这就导致我的思维不够细致,会忽略很多的点,会漏掉很多应该考虑的情况然后导致,总有测试点不能过的情况。在通过一次次的练习后,我会在拿到题目时,就先对题目进行思考判断,尽可能的对每一种情况都进行考虑。

4、在程序错误后,会通过设置断点来对程序进行测试,一步步查找问题的所在,然后对程序进行修改。在测试点未完全通过时,会仔细查找相关的测试点进行测试,然后对代码进行调整。

5.对课程的建议

1、希望老师能够将一些很多同学都未得满分的题目进行讲解,比如这个

因为可能有很多的同学都是卡在了一些点上,思路不清楚,然后一直通过不了。进行讲解能够让我们自己明白自己所错误的地方在哪,这样能够让我们的思路更加清新,并且下次也会更加注意。

2、可以对一些分值较大的测试点进行分割,变成多个小的测试点,这样能够更加直观的得知测试点是什么,并直面得知代码所存在的问题。

3、对一些难度很大的题目,希望能够循序渐进的发布,在水文信息那次作业中,由于类图的设计就比较麻烦,再加上第一次使用正则表达式,就导致出现很多人不能通过的现象。

4、希望能够开展一些平时的练习题,供我们日常练习,保证每天的代码量。

java的课程总结_Java课程总结相关推荐

  1. java 公交管理系统 代码_JAVA课程设计报告公交管理系统.pdf

    Java期末课程设计 -- Busmanagerment 课程名称:算法设计与分析 任课老师:吴倩 学生姓名:谢秀华 学生学号:1037005 所在院系:信息工程学院 班级: 10计算机1班 一.前言 ...

  2. java实现随机动画_Java课程设计画随机圆.doc

    Java课程设计画随机圆 滁州学院 课程设计报告 课程名称: Java 面向对象程序设计 设计题目: 画随机圆 系 别: 计算机信息与工程学院 专 业: 计算机科学与技术 组 别: 第五小组 起止日期 ...

  3. java程序课程总结_java课程总结

    课程总结 一个学期结束了,下面我对一些重点知识分三个模块做一个小的总结. 一.Java基础程序设计 1.java中源文件的扩展名为.java,之后通过编译是.java的文件生成一个.class文件. ...

  4. java飞机大战流程图_JAVA课程设计-飞机大战

    JAVA课程设计-飞机大战 1.团队名称.团队成员介绍 1.1 团队名称:做个飞机哦 1.2团队成员介绍: 余俊良(组长):编写博客.游戏主界面设计与实现.英雄机与子弹类的实现.场景设计 林祥涛:游戏 ...

  5. java课程总结_java课程总结报告.doc

    java课程总结报告 java课程总结报告该怎么写呢?下面是带带来的java课程总结报告,请参考! java课程总结报告[1] 刚开始学的时候,感觉这两门课程好高大上的样子,因为自从学软件工程这个专业 ...

  6. java程序课程总结_Java课程总结报告.pdf

    15/16 学年第二学期 <Java课程总结> 班级: 1420561 学号: 13 姓名:方一帆 第 1 章 Java 系统环境概述 一. Java 语言特点 1. 简单性 Java 语 ...

  7. java课设 五子棋_Java课程设计 ————五子棋 (个人博客)

    JAVA课程设计 五子棋(博客个人版) •团队课程设计博客链接 •个人负责模块或任务说明 1.主框架类:设置棋盘窗体,颜色等 2.isWin方法:判断胜负 •自己的代码提交记录截图 •自己负责模块或任 ...

  8. ATM柜员机JAVA课程设计_JAVA课程设计报告银行ATM机系统.doc

    JAVA课程设计报告银行ATM机系统 Java课程设计报告 题 目 银行ATM机系统 所在院系 软件学院 学生姓名 金磊 专 业 R机械+软件 班 级 R机械094 学 号 2011年 7 月 15日 ...

  9. java模拟时钟课程设计_java课程设计-时钟图形模拟

    java课程设计-时钟图形模拟 计算机与信息工程系 <高级语言程序设计>课程设计报告课 程 设 计 任 务 书专 业 通信工程 班 级 13 级四班 姓 名 张凯铭设 计 起 止 日 期设 ...

最新文章

  1. linux下程序执行的步骤及其作用
  2. 老子不想考试了!英国计算机系学生黑掉校长邮箱:倒闭学校,取消考试
  3. 为什么叫python编程-Python这么火,为什么说它不是未来的编程语言?
  4. 量子传输技术转移一个人需要4500万亿年
  5. 企业Java中事务隔离级别的初学者指南
  6. 信息 按顺序打印commit_提高效率的 10 个 Git 小技巧
  7. 国外常用的jQuery响应式网页模板
  8. Django学习手册 - csrf
  9. 单片机 上传服务器协议,单片机数据上传到云服务器
  10. 通信原理及系统系列9—— 设计无码间串扰的通信系统(理想低通滤波器)
  11. Mask R-CNN网络详解
  12. Linux man指令查询文档设定成中文
  13. 中国人民大学计算机拟录取,2016年中国人民大学信息学院硕士研究生拟录取名单...
  14. 计算机用什么命令调取共享记录,只需一串代码命令就可以获取你的电脑所有的无线网历史连接记录?...
  15. 电脑如何拦截弹窗广告
  16. 在线帮助文档的6大最佳创建方法,让用户更轻松的了解企业产品
  17. GP如何进行数据比对?
  18. 怎样做小游戏挖金子(VC,源码2)
  19. reCAPTCHA验证码
  20. 【PCL自学:Feature3】PFH点特征直方图的概念和使用 (持续更新)

热门文章

  1. QT【001】- 基础写在前面的话
  2. 腾讯云对象存储 python_GitHub - fushall1104/cos-python3-sdk: 腾讯云对象存储服务(cos)Python3.5版本SDK...
  3. 天津大学计算机专业怎么样,请问天大计算机专业的研究生怎么样啊?
  4. 字节跳动python面试_【字节跳动Python面试】生平遇到最好的面试体验-看准网
  5. android第三方推送实现,Android--利用第三方推送实现APP伪保活(小米篇)
  6. java面向对象的多态_java面向对象(五)之多态
  7. linux如何启动wifi,【教程】Wii安装运行可用WIFI的Linux系统全攻略
  8. 解决方案架构师我需要懂代码吗_“请问需要加汤吗?”火锅店背后隐藏的商业暗示,你都看懂了吗?...
  9. python3.7安装pyqt4_Windows下PyQt4的安装(本文已过期)
  10. mysql5.7.11无法启动_macos - mysql 5.7.11 启动报错