学习JAVA需要哪些基础啊。?有没有网上的视频或者书籍一类的推荐几个。

初学者得书。 或者网址。好的加分

编程分为: 面向过程编程 面向对象编程

ACM比赛一类的需要的主要是面向过程编程,一般ACM竞赛的题目都可以解决

举个例子

现在我有1000个数,我要找到第100大的数字,那么我们可以用选择排序,然后找到排在第100个的数, 算法的效率 是O(N^2)

如果我有10000000个数,我要找第100大的数呢,选择排序的速度就太慢了,于是我们要换一种方法去找第100大的数。 这里我们用到的方法就是算法!!

面向过程编程就要收针对一个问题进行解决,设计省空间省时间的算法!!

面向对象编程,与面向过程编程在思路上有很大的区别,主要考虑了程序的移植性,复用性,继承等等,主要在应用中会用到,比如软件开发等等

c是面向过程编程的语言,c++包含了c的特性,但是主要是属于面向对象编程,java是面向对象编程的语言

如果你这么问,我们可以做一个假设,那就是你对算法以及数据结构都没有一个很清晰的了解,或者是说没有一个更深入的理解。

我的意见是:从 算法与数据结构 入手,这类的书籍很多很泛滥,内容差不多。 等你对算法与数据结构有了深入的了解了以后再去看看 高级算法与数据结构 这些是编程思想的基础!!

计算机语言是可以触类旁通的,所以使用任何语言都没有太大关系。

总结:
1. 了解清楚什么是面向过程编程,面向对象编程,有自己的理解最好;
2. 从算法与数据结构入手,
了解各种数据结构:树,二叉树,多叉树,红黑树等等
哈希表,数组模拟链表等等
算法:贪心算法、动态规划算法、最小生成树算法、KMP算法、网络流算法等等最基本的算法
3. 练习,训练编程思想最重要的就是练习!! ACM题库就是一个很好的练习场所,浙大的题库,北大的题目,同济的题库,还有美国的题库USACO 俄罗斯的也有很多很多题库,我们高中的时候就是做这些题库的@!!

先讲这么多,祝好运哦~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-20
推荐你看下韩顺平老师的视频,电驴有的下或者优酷也有就是不清晰,讲的还是比较简单易懂的,适合初学者
第2个回答  2012-08-06
"给大家讲讲我的学习经历吧,开始的两年我学JAVA就是拿书看,练习书上的例子,但是一直没有好的效果。后来因为项目需要开始正式使用JAVA开发,我发现以前练习的东西都忘光了,所以不得不在拿起书看。也就是基本上做了无用功了。现在想来因为大部分是抄来的,不怎么动脑子,所以不清楚为什么要这样。所以我强烈建议你学习的时候给自己设定一个假想的项目目标,做一个东西出来,网页也好,application也好,这样你才会快速地学习。对java有了一定地感觉以后,你在去看他的DOCUMENT,看他的源码,我建议你从低版本的JAVA源码看起,因为他类少,看起来容易懂。然后你就会知道自己以前编码的东西那些是很幼稚的,是可以用一两句就能搞定的。如果你已经稍微有了些感觉,如果觉得合适也可以考虑参加一些培训,毕竟比自学要轻松些,另外还可以学到别人的一些经验,比如:“动力节点”或“王勇Java”一些学员反应不错的,也建议你们多了解一下其它的培训机构。Y.
"