回答你的第一个问题:想学好JAVA是不是要先学好C++做为基础呢? 回答是否。你完全可以直接学习Java。但是要知道,开发Java语言的人是个C++绝顶高手,所以Java与C++十分类似。Java与C++相比,相对简单点,Java是商业语言,可以用于开发跨平台的应用程序和Applet,不过牺牲了执行效率。 C++不是商业语言,不能直接用来开发应用程序,在windows下可以利用 MFC 或者 直接利用 Win32Api来写你的C++应用程序。C++程序的执行效率要比Java程序来的高,原因就是C++ 是编译性语言,而Java是解释性语言。无论是Java也好还是C++也好,要真正学好都不容易,尤其C++,平心而论,要想真正把C++与你融为一体,没有3-5年是拿不下来的。还有很多人在学C++的时候都喜欢问,要学好C++,是不是要先学C,对于这个问题回答,我个人认为: 是。当然也有很多人说:不是。先学C,然后再学C++其实也有一个很大的弊端,甚至是危险,那就是不容易从 结构化编程 转到 OOP上来,甚至永远也无法转过来,有些工程师他们可以写出很高效的C程序,很高效的汇编程序,但却写不来OOP程序,因为他们的思维模式无法转到OOP这个思维模式上来,永远的站到了OOP的对立面上去了。但是一个从C过渡到C++的程序员,往往要比直接学C++的来得更为优秀,这个优秀之处体现在,他们写的程序往往简单,高效,犹如武术中讲的一招制敌。总之你有耐心,可以先学C,然后C++,然后Java。如果没有这个耐心,那也完全可以直接学Java。
回答你的第二个问题: 还有C++是不是所有的编程语言的基础来的呢? 我个人认为:不是,所有编程语言的是数据结构和算法。不过C++体现了数据结构和算法。如果你真正掌握了C++,那么数据结构和算法也应该是你脑子中的一部分,或许不够系统化而已。外面有很多书是描写数据结构和算法于C/C++ 或 于Java的,甚至于其它语言的。因为一谈到数据结构和算法必然会谈到一门实现的语言,其实数据结构和算法是与具体的编程语言无关的,只不过通过一门具体的编程语言可以将思想转化为具体的代码,从而用具体的代码来验证你的某个问题的数据结构和算法而已。你应该知道,编程到一定的高度,是无所谓用什么编程语言的。程序员也不会来讨论具体的代码的书写的,他们往往讨论的是,解决问题的算法。也就是说在逻辑层面上讨论。当然书写代码还是有很多技巧的。这里是一个经验的问题了。