在编程世界,只要一提到java,总会有人联想到C语言,仿佛这两者之间有着一种密不可分的联系,那么也会有外行人在选择学习编程时,会有类似于学java前是否需要学习C语言呢?或者说java和C语言哪个会比较好学?等等之类的问题。
其实大家会有这样的问题倒也不奇怪,因为学习C语言就是在学习 Java,因为C语言中至少 80% 的语法知识都被 Java 继承了。Java
刚开始的前半部分,如数据类型、变量、流程控制、数组、函数,这些知识同C语言几乎是一模一样的。C语言是面向过程语言的代表,学好C语言有助于学习 Java
中面向对象的思想。前面说过,要想知道什么是面向过程、什么是面向对象就必须要有比较。你将C语言学完之后,再学习 Java
中函数的时候就会发现,它们的语法规则是一模一样的,但用法完全不一样。如果你直接学习
Java,就会觉得本应该那么使用,这样就无法深刻体会什么是面向对象了。
C语言中最重要的是指针,后面会详细地介绍指针。C语言中有两个知识点可以说是其所独有的,一个是函数,另一个是指针。C语言中的指针是理解 Java
中“引用”的基础!Java 中引用的本质就是指针。如果不懂指针就不可能对 Java 中的“引用”有深刻的理解。而如果你无法深刻理解 Java
中的“引用”,那么稍微复杂一点的 Java 程序你基本上就看不懂了。
这就是为什么人们总喜欢把java跟C语言联系起来的原因。其实从学习的难易度上来说,java语言比C语言要简单。还别不相信,因为C语言属于底层开发语言,算法逻辑上比Java更复杂,逻辑不太好的话还是慎重选择C语言做为入门。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
话又说回来,学java前其实不一定非要学C语言,你在基础语法上学慢一点就行了,而且这样还不会受到C语法的一些影响,因为C和JAVA并非完全相同的,至少一点JAVA中没有直接的指针(改了个名叫引用),而且学C还要学一些数据结构和算法方面的知识,学JAVA就没那么麻烦了,你稍学些就行了,JAVA中的API都帮你做好了,在C中你要通过一个函数实现的功能可能JAVA中就只需要你调用一个API方法就行了。在我看来如果你是想学JAVA的话可以直接学,与其发学两门语言的时间还不如把更多的时间发在同一门语言上,这样对你学JAVA可能要好很多(个人建议,仅供参考)。
关于学java前要不要学C语言的相关问题就介绍到这儿了