日期:2014-05-20  浏览次数:20775 次

疑惑:学java到底在学什么?
学了一段时间,应该说语法学的差不多了。可是我连一个俄罗斯方块都做不出来。看书上的代码又能看懂。

写一些小程序 我宁愿用C加windows api写。。

今天去图书馆,借了一本设计模式。。。看设计模式是不是对我来说太早了。。

学java到底在学什么?语法?OO机制?设计模式?貌似OO机制和设计模式关系老大。。

我想掌握了语法也不能保证我能开发出软件。

可是又有人说 如果一门新的 编程语言不能带给你新的思维方式,那就没必要学它。

我想我现在是该看看设计模式了。 可我们学生现在没机会做大的项目,OO机制和设计模式根本没有实践的计划。小东西用C就能搞定。

所以有一个疑问?我现在要看设计模式吗? 设计模式 是不是很高端的东西?



------解决方案--------------------
个人认为学习Java其实就是学一种编程思想。我想你应该发现了其实Java的语法和C++很像,那么Sun为什么要开发这样一种语言呢?当然是因为和C++迥然不同的思想了。至于你说现在看设计模式太早的问题,我想说,无所谓早晚了。练手的问题,其实几乎所有教语言的书都会给你一些小例子让你做的。而且,不要认为小例子就没有用,思想的东西先要融汇,才能贯通。楼主加油吧!
------解决方案--------------------
第一基础,就是书本上的东西。
第二框架,比如ssh2
第三项目,找个网上的的项目,跟着做一遍,把那些逻辑熟悉下。

然后你再考虑Java再学什么时,会有不一样的感觉。
------解决方案--------------------
学java 就是学一种思想,我们经常说面向对象,JAVAOOP 实际上也就是学如何得来的,最开始我们可能学的是语法,但是后面就是思想了,JAVA作为一门高级语言,挺不错的。至于设计模式 我们现在就学了DAO模式,还有几个简单工厂的,反正我觉得JAVA 很强大啦
------解决方案--------------------
写俄罗斯方块。那是属于游戏算法的范畴。不关设计模式的什么事。设计模式你用来设计一个好的项目的。使得项目具有前瞻性。使得项目具有更好的灵活性,扩展性,可维护性。说的很简单。做起来其实很困难。比如说。JAVA的类库里面就有很多设计不合理。被人骂。
你把JAVA的基础学好。学扎实。以后无论你看到什么,你都可以自己模拟出来。
比如说:Spring框架技术。你可以用很简单的原理模拟出来。
最简单就用到了三种技术。注解,反射,XML。
把基础学好。别去想太多。一步一步的学。别急着想做些东西出来。当年我就跟你一样。然后我现在看我当年做的东西。我觉得特傻逼。
------解决方案--------------------
看你是需要实现什么样的目标。
其实每种语言的本质是一样的,通过编写代码来实现预定的功能,但是各种语言又有侧重。使用java主要是要求要从整体上对目标要有把握,需要你更加如何用java来实现业务的时,注重代码的复用,程序的健壮等等。
------解决方案--------------------
学JAVA还不错的,不管学什么语言,基础最重要,不要以为一个小程序写出来没用,其实一个项目就是很多小程序组合起来的,像一些逻辑思维题,算法题做起来很难,反正觉的做一个项目并不难,做项目大多数代码就是基础,想到什么就写什么,真真要动脑的地方并不多。
只要基础好,做项目如流水,想到什么就写什么,呵呵
------解决方案--------------------
java SE有很多东西要学习,界面要学,数据库操作要学,线程操作要学,socket编程要学,JNI要学,目前我也只懂这些,其它还有很多我不知道的东西。

至于你说的设计模式,这个已经是很高端的东西了,你的水品没有到一定程度学了也等于没学。

另外,俄罗斯方块一般都是测试你学习java se最好的例子,如果你做出来了,界面部分和线程部分就算入门了。

之后可以做类似qq的聊天软件,如果你做出来了,界面,线程,数据库,socket就算掌握的差不多了。

在之后你可以用jni将windows的一些功能和java关联起来,用jni实现java没有但windows有的功能,这个入门比较难,要有相关的windows编程基础和C语言基础,当然你不学也没有关系,网上一般都有已经实现好的包了,拿来用就行了。

我目前自学了两年的java,也就学到这种程度了,有了以上的知识,用java开发小型的桌面应用程序基本不是问题了,之后学习java就是网上找相关资料的问题了。比如你要画图表,你可以研究JFreeChart。比如你要进行网络嗅探,你可以研究jpcap。
------解决方案--------------------
学java当然要学java的优势。其实方向还是很多的。
java可以完美解决多线程问题,多线程就不错。
跨平台,oracle为什么用java做安装界面?就是为了让其在各个平台都能有同样的安装界面。
java的运行速度不如c,界面做出的不好看,所有即时性的,桌面应用不擅长。

架构师,这也是一个很不错的方向。设计模式肯定要学的。