java编程心得_java 初学者 全阶段作业编程总结及心得体会

2023-05-16

0.前言

不知不觉,java学习就到了尾声,这个学期我们上的java专业课都是在网上进行的,不过我觉得自己java应该是学到蛮多东西的,没有因为在家学习就荒废了,因为这门语言很大可能就是我们以后工作要用的编程语言,上学期因为没有好好学C语言已经非常后悔了,所以学java的时候还是比较努力在学的。

在这个学期的java学习中,我们到现在为止一共经历了三个大阶段,之前已经做了9次作业和写了2次的博客,不得不说,每次写作业都要花费大量的时间和精力,作业有一定的难度,并且可能自己的脑子转的不是特别快。这篇博客就是对我这一个学期来学java的一些总结吧。

ef7444f25783e96d6e8a1c13ff5b78df.png

1.作业过程总结

(1)总结三个阶段之间的关系

第一阶段:这个刚开始的阶段主要是从C语言开始慢慢从面向过程转向面向对象的思维,然后有面向对象的这种思维之后,就开始考虑类之间的关系,类之间的耦合度大小,算是一个过渡的阶段。

①这里的第一次作业是简单的,用C语言学过的简单的循环等基本语句就能解决问题,相对来说是最轻松的,可以充分给我们这种java初学者打打鸡血,让我们觉得学java也不是像别人说的那么困难。

②第二次作业仍然还是跟java思想没有很大的关系,主要还是一些基本语法的运用,只不过是多了一些方法的使用,方法就跟C语言的函数是一样的,所以用起来不会特别费劲,不过就是涉及到了一点点算法,还是花费了很多时间去搞定这些算法的。

③第三次作业还是跟第二次的作业差不多,不过唯一的区别就是第三次作业涉及到了类的使用,相当于就是要用到对象这个东西了,初次使用,很多地方都是不熟悉的,基本都是要边百度或者边问同学,有时候解决一个问题都要花费很多的时间,同时第三次的作业里面每一个题目类的设计还是不一样的,当时搞不懂老师为什么要出这些题目,这么麻烦,还做的特别费劲,现在学完了一个学期的java,才知道当时这样做可以更好的帮助我们去理解去接受面向对象的思想,知道如果类的设计有问题,那么耦合性太高的话修改起来就会特别费劲。

下面2张图是当时题目的类设计,可以明显看出第二张图是类设计的比较好的。

aa75dd657b742d8ef46fe08b30e4ee38.png

bc8e8a16dd3f524129e3a852bde774b9.png

第二阶段:第一阶段的存在在我看来就是为第二阶段打基础的,因为第二阶段就涉及到更难的工程问题了。这个阶段的作业就很多基本上都是涉及到了跟生活有关的问题,就是老师经常说的复杂工程问题,做这类题目的时候往往都比较难,特别是复杂工程问题中还用到了正则表达式的运用,因为是第一次接触正则表达式这个东西,所以当时做的时候基本一遇到正则表达式的题目做起来基本都是拿不到多少分,程序基本就是不能全过。同样这个阶段的作业基本都是用到类之间的关系(关联、聚合、依赖、继承),还基本都用到了多态等。

里面同样是有3次作业,这次的作业很大一部分都是围绕着字符串的处理还有正则表达式的使用来的,可以说这个阶段的作业我们要能准备的读懂类图中类之间的关系,然后每一个方法具体要怎么来使用。当然我觉得这个阶段的作业最重要的就是你要能准备的对字符串进行分割等处理,然后能准确的运用正则表达式去进行匹配和查找。

第三阶段:这个阶段是最后一个阶段的学习,作业相对来说是综合了前几个阶段的知识点,这个阶段一共有三次作业。

第一次作业是对雨刷系统的重构,意思就是要完美的实现开闭原则,如果有新的系统出来,我们需要在不改变原来代码的的情况下,只需要增加一些代码就行了。这个题目我觉得就是要注意类的设计,以及抽象类的定义要考虑清楚,同时要注意输出的格式,做起来不是特别难,具体的一些题目要求如下

a09e540d7290dbfe6751b87b590d7ed7.png

这个阶段的第二次作业和第三次作业都是跟正则表达式的运用有关的,经过了第二个阶段的摧残,发现做第三阶段的正则表达式的部分还是做得比较顺手的,可能是失败是成功之母,当我们不断失败去尝试的时候,成功就离我们不远了。第二次作业是通知一段代码中关键字出现的次数,这个只要简单的用正则表达式还有list处理就行了,第三次作业则是计算器表达式计算的,相对来说比较难,还要参考网上的算法,还知道了栈的运用,对栈有了一定的了解,知道了一些方法和栈的特性。

34ca1a0fd21cc742d1dc3cf4e3f2e9be.png

bb4b6e14892ceaf628d00787cd343c0c.png

总的来说,这三个阶段是逐步的,从浅到深,从C语言的面向过程到java的面向对象,一步一步进入java这个大的殿堂,三个阶段都是连着的,如果说单独进行其中的一个阶段的话,可能都达不到现在的这种效果,所以我还是觉得老师们的这样的课程设计是完全有必要的,一开始或许不太理解,不过现在感觉还是很不错的。

最后面我们现在学的javafx 图像界面的感觉难度不是特别大,很多操作都是按照特定的来的。

2.OO设计心得

1.对面向对象和面向过程两者有了比较清晰的认识,也知道了两者的一部分优缺点,面向过程的代码不容易修改,如果成型了的程序的话,想增加其他的功能可能就比较困难了,而面向对象就不一样,非常讲究开闭原则和单一职责原则,还有他的三大特性都不是能独立存在的,封闭性,继承性,多态性,比如封闭性好了才能更好的展现去继承性,才能保证继承性的安全性,而多态又是建立在必须有继承性的基础之上,这三者都是相辅相成的,谁也离不开谁。

2.面向对象java编程的话,我觉得最重要的还是要有一个很清晰的框架,这样你写起类图来比较简单,然后就可以根据一个好的类图来写代码,这样代码的实现阶段也是比较容易的了。

3.其实不管是我们学习java这门课程还是学习其他语言,自学能力是非常重要的,比如一个成熟的编程人员,我觉得是要学会利用百度的很多资源,当然这种利用不是抄袭,是知道原理,知道怎么用,把它转化为自己的,这样才能更好的把一门编程语言学好学精。

4.做一件事要有自己的思想,敲代码也是,每个人的代码可能不一样,不过我们要尽可能的把代码写好,把算法写好,同时尽量不要出现太多的bug。

3.课程收获

1.进一步的知道了封装性,继承性,多态性,基本能够不错误的用到这3大技术特性,同时我学会了基本的正则表达式,对字符串的部分操作和方法有了进一步的理解。同时自己知道了set get方法有时候可以不写,写了反而会增加代码的长度。还有就是进一步明白算法的重要性,比如求素数的,一旦数字过大就发现运算时间太长了,这几次作业,我知道了动态数组怎么用,之前用的都是静态的数组,很不方便,现在知道了动态数组 ,方便了很多。

2.知道了Map 和Set 的比较简单的使用方法,能够利用他们的特性去做一些操作。

3.知道了如何进行单步调试,同时知道有时候不用单步调试的时候可以用System输出来进行调试。

4.对面向对象可以说有一个比较大概的了解了,对以后学习其他语言有了 一点基础。

5.初步养成了自己能够独立解决问题的能力,不在只会依赖老师,可以面向“百度“编程,通过百度来解决一些问题。

6.可以解决一些比较简单的复杂工程问题。

4.对课程的建议

1.现在发现老师的这种阶段性的学习还是有很大的好处的。

2.就是希望老师可以在课上多讲讲作业要用到的一些知识点,这样的话会比较容易写作业一点。

3.多辅导一下比较学的吃力的学生。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java编程心得_java 初学者 全阶段作业编程总结及心得体会 的相关文章

随机推荐