`
XiAoOMAn07
  • 浏览: 74896 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

java学习小结

阅读更多
近一个月的学习小结:
在前段时间的HDU习题练习中,基本可以找到一点感觉,发现,有些题目的算法,真的很精炼,一个好的思路可以节省很多的时间消耗,而且运行效率高。
比如
2098 分拆素数和
Problem Description 
把一个偶数拆成两个不同素数的和,有几种拆法呢?

起先按照很笨拙的方法,想了很久,最后虽然会出结果,但是代码写的很长;
后来看了问题分析 :先生成1->10000之间的素数表。然后直接判断。
在算法实现部分琢磨了许久,算法实现这边介绍了两种方法:一种是用“筛子法”,另一种是从2->N检查,找出质数。
方法2使我深有感触,通过定义int gab=2;gab=6-gab;因为相邻两个可能的数的间隔为它们的距离是4、2、4、2……
定义prime【】数组来存放找到的素数,很巧妙的解决了这个问题。(具体算法解析在学习日志,prime【】素数读取  中)

还有一个问题是JAVA中的方法调用的问题,记得在做无限的路的那题的时候,因为需要用到两次对数组对象的swap,写了个swap方法,在方法中进行调用,发现程序总是会有错误的结果,但是怎么检查也查不出问题,百度也不知道该怎么搜,最后想到会不会是方法调用的问题,去百度找java 的swap方法调用,,发现远不能这么用,存在一个地址引用和对象的问题。最后在代码里把swap重新拆分,才最终解决问题。在方法调用方面还是应该多家注意的。

JAVA编程思想一书,有点感觉像洗脑的感觉,一直都很像快速浏览的,但是每次快起来,又感觉会落下点什么,于是看的比较细心点。最前面的基础介绍里,很多都是上课不曾讲过的,感觉很有用,一开篇就介绍了OOP思想,第二章讲到,一切都是对象,后面是OOP理念和解析,以及一些OOP的好处,比如易维护,易扩展等。就像老师刚开始讲的,面向对象的编程思想,必须一直贯彻并接在平时的练习中下意识的去留意和运用,JAVA难的不是程序的设计,而是在于这个项目的建模。
java 中没有GOTO语句,取而代之的是如下的带冒号标签  label:
通过continue label:  
    break label:
可以轻松的实现GOTo语句的功能,而且不会造成如GOTO语句的问题(程序到底跳转到了哪里?)。
第五章中的构造器调用构造器,上课好像没讲过。用书上的结合百度上的一些知识,感觉还是受益匪浅的。
一直对java中数组的赋值问题很困惑,一个数组就是一个对象?这些困惑大多在JAVA编程思想中得到解决。比如数组的赋值,java.util.Arrays;
在二维数组的赋值上还存在了一个浅拷贝和深拷贝的问题。(今天找很久没找到那篇网上的文章,明天再找找看)。
接下来接口还有异常处理看了应该差不多了,图形界面部分还有 Java I/O部分等,暂时先不去接触。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics