Java和C语言之间并没有紧密的关系,虽然Java的实现借鉴了一些C设计,但对学习者来说先学谁后学谁都无所谓。没有学过C语言不可以学Java,不存在一定这个说法,学没学习C语言都可以学Java编程。
学过C肯定能更快的学会Java基础部分,计算机语言有相通之处,而且C和Java的代码风格也更为相似。学习C能了解更多一些关于计算机底层的东西,而Java在这方面就没有C涉及的明显。不学C完全也是可以学会Java,但就长远来看先学C也是有不少好处的。
如果想通过考试或感兴趣入门学习,直接学Java就行,比C简单很多。不学C学Java的话可以更好地建立面向对象的概念,避免很多令人头痛的问题。
推荐入门教程:
Java入门基础视频教程,零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)
黑马程序员C语言基础教程【源码,笔记,软件,案例全,初学者值得收藏的教程】_
但想认真钻研Java,以后从事专业开发的话,要好好学习C语言,很多C的基本问题在Java的课程或书籍里都不会再讲,那些令人头痛的问题也必须搞明白。认真学C的话对学Java是大有帮助。
Java语言的语法和C语言的语法差别比较大,都属于高级编程语言。
Java是面向对象,C是面向过程,两者之间是没有直接联系,且是两种不同开发方向的语言。一般Java可以进行移动端、Web、桌面软件的开发,而C语言经常进行一些底层的开发。
即使一点C语言的基础都没有也不会影响学习Java。但后期深入研究Java,想研究Java的底层实现,比如想知道Java中内存分配到底如何实现的,建议学习一下C语言,因为Java的底层可以通过JNI来调用C语言的程序。而JNI可以实现一些用Java语言所不便实现的功能,例如:
(1)标准的Java类库没有提供我们想要的功能,通常这些功能是平台相关的;
(2)希望使用一些已经有的类库或者应用程序,而并非用Java语言编写;
(3)程序的某些部分对速度要求比较苛刻,我们选择用汇编或者C语言来实现并在Java语言中调用;
(4)为了应用的安全性,会将一些复杂的逻辑和算法通过本地代码C或C++来实现,本地代码比字节码难破解。
当然学习C语言或Java编程两者之间可以互相借鉴,学好一门语言对另一门语言的学习理解可以起到帮助。