蓝杰学习总结
不知不觉,大二的第一个学期结束了,到蓝杰学习也差不多有2个月了。下面我就讲讲我在蓝杰学到了什么东西吧。
在蓝杰讲究的是项目驱动,成果导向,就是说反正不管你水平如何,先给你个小小的项目给你做,然后在做项目的过程中学习之前不懂的东西,到项目做完了你也学到了那个项目需要的知识。这就注定蓝杰上课的形式跟学校里很不一样,蓝杰上课只给你上你马上就需要用到的课。
有一天龙哥教我们
队列,之后马上就要我们实现
画图板的
重绘。在这里上课经常是上1个多小时课,然后自己动手实践。
我到蓝杰以来做的第一个项目是画图板。之前我在学校学习编程从来没做过窗体,而且,我以前也没学过JAVA。我学过C语言和C++,所以这门Java对我来说,有一半新课,一半
复习课。前面一两节课都是语法课,而Java的语法格式和C语言大同小异,所以我听课很轻松,但是我又常常感到不满足,我所期待的是编写窗体,那时窗体对我来讲还是个很神秘的东西。之后,龙哥就给我重新安排了课程,将我的进度提前了,我就开始接触新课了。龙哥给我单独讲了一节关于类的课之后我就马上开始讲窗体。看着龙哥做示范的代码,我突然觉得,原来做窗体没有我想象中的那么难。Java中有现成的类模版让你可以新建出窗体,你自己调用就行。那时候还不知道,其实现在想一想,那个时候我编程的思想就已经从原来的面向过程编程开始向面向对象编程转变了。
在我学会创建窗体之后,我就真正开始了画图板的项目。第一次课,龙哥教我让窗体获取画布,(这个是画图板的基础,如果没有获取画布,跟本就没法画图)然后给窗体添加一个鼠标
监听器,用于监听鼠标动作,之后我运行程序,
发现程序可以画一条直线了(监听器里写个个画直线的方法)。之后我还随便搞了一些画圆形,矩形等画布方法。龙哥说要我们尽量模仿微软画图板,虽然第一次课,我的程序勉强可以画图了,但是和微软的一比,显得太次了。所以第二节课,龙哥教我做了一下美化,给所有的画图按钮添加图片,内容其实很简单,但是工作量蛮大,因为每个图标都有4种状态,你要把所有状态都添加进去就显得代码很长了。后面我还学习了画图时可以选择颜色。一开始,我和画布共用了一个监听器,但是发现有问题,后面我修改了代码,重新创建了一个颜色监听器。但是发现响应时间有问题,反正每次都是选了另外的颜色但是要画一次上一次颜色之后才改变,我百思不得其解。无奈之下请教了斌哥,才发现监听器的触发顺序我没搞清楚。最后,我学习了重绘,重绘方法我知道的有两种,第一种是龙哥教的那种,就是用类封装你要重绘的图形,存在一个队列中,在窗体改变之后调用队列里类的画图方法,实习重绘。第二种重绘是斌哥教的,思想是先把画布图像截取下来(截屏),然后按照像素点,一点一点依次存入一个二维数组中去,在窗体改变后重新画二维数组中的点,以实现重绘。
上面是我在蓝杰所学到的技术方面的东西,但其实我还学到了其他的东西。这些东西包括很多方面,有编程思想,编程
习惯,调试程序等。原来我编程从来不写
注解,就是在一次程序报错检查时发现,我的代码很混乱,之后我写程序就会自觉的加上代码。这样不仅方便自己修改程序,也方便别人看你的代码。之前我写程序其实很大程度上我用的都是面向过程的编程方式,但是Java用多了之后,我发现其实面向对象更加简单、安全。还有就是以前每当出现程序
异常,报错之后我就束手无策,不知道如何才能有效的检查出出错的地方,现在我就知道在出错的地方打印一句话来测试程序是否运行。
虽然我取得了一点点小的进步,但我还是有很多缺点值得改进。有一句话说的好,文人不可能在自己来了灵感之后才写点东西。同样我觉得写程序也是如此,但是有时候
我自己还没有做到任何时候都能写程序,每当弄了很久没弄出来的东西我都不能坚持一次性把它做完。有时候我觉得我写程序的时候顾虑太多了,我觉得这不是件好事,因为它很大程度影响了我
写代码的方式,我觉得写代码先实现框架,然后去填充这样
比较好。看书时,我有自以为是的态度。就比如说吧,原来看书时我看到Java里的值传递和引用传递这里来了,而我在C语言里已经非常了解了,我就随便看了一眼,扫过去了,我不是说非得一字一句的看,但是我那时扫过去却并没有留下任何印象,结果后面还形成了
错误的思想,还好后面又重新翻了一下书,发现了错误。不然后果不堪设想。
总的来说我的缺点还是一个编程量的问题,我相信,只要我继续努力下去,量变最终会引发质变!