学Java需要先学C语言吗?不学C语言学不好Java吗?

学习Java需要先学C语言吗?不学C语言学不好Java吗?对于初学者来说可能常常听到关于Java和C语言这样疑问。虽然很多人都说C语言是基础,但是照样有很多人是从Java学起的,那么下面小编来系统分析一下,Java和C语言到底是什么关系,初学者又该怎样选择性的学习。

一直有人说,学Java需要先学C语言。这也不是没有道理的,先学C语言的理由大概如下:

1、学习C语言就是在学习 Java,因为C语言中至少 80% 的语法知识都被 Java 继承了。Java 刚开始的前半部分,如数据类型、变量、流程控制、数组、函数,这些知识同C语言几乎是一模一样的。

2、C语言是面向过程语言的代表,学好C语言有助于学习 Java 中面向对象的思想。前面说过,要想知道什么是面向过程、什么是面向对象就必须要有比较。你将C语言学完之后,再学习 Java 中函数的时候就会发现,它们的语法规则是一模一样的,但用法完全不一样。如果大家直接学习 Java,就会觉得本应该那么使用,这样就无法深刻体会什么是面向对象了。

3、C语言中最重要的是指针。C语言中有两个知识点可以说是其所独有的,一个是函数,另一个是指针。C语言中的指针是理解 Java 中“引用”的基础!Java 中引用的本质就是指针。如果不懂指针就可能对 Java 中的“引用”没有太深刻的理解。

虽然前面讲了那么多关于学Java需要先学C语言的好处。但是不学C语言学不好Java吗?

其实不然,C语言和Java完全是不同的两种语言,一种是面向过程编程的,一种是面对对象编程的,虽然说如果大家前期学过C语言,对于Java的入门可能比较容易些,毕竟接触过编程,一些变量,函数(Java中叫方法)等都有所理解,但是,即使大家没学过,也是比较容易的,学没学过可能就是前期理解的快慢的区别,针对后期来说,都是没差别的。

而且这样还不会受到C语法的一些影响,因为C语言和Java并非完全相同的,至少一点Java中没有直接的指针(改了个名叫引用),而且学C语言还要学一些数据结构和算法方面的知识,学Java就没那么麻烦了,大家稍学些就行了,Java中的API都帮你做好了,在C语言中你要通过一个函数实现的功能可能Java中就只需要你调用一个API方法就行了。如果大家是想学Java的话可以直接学,与其发学两门语言的时间还不如把更多的时间发在同一门语言上,这样对大家学Java可能要好很多。

在小编看来,Java和C语言虽然有着一些比较密切的关系,Java的底层是C语言编写的,但是从另一个方面来看,两者关系不是很大,语法不同,在语言设计上也有着一些不同,所擅长的领域也不同,综合上来讲,学Java之前不一定需要学C语言,不学C语言也可以学好Java。