在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
学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。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
2019学Python好还是学C语言好?
当下,想学编程的小伙伴们常常遇到这样的困扰:2019学python好还是学C语言好?
8206
2019-07-09 13:52:21
如何自学Java编程?零基础小白入门须知
如何自学Java编程?相信这个问题在刚开始自学时就困扰着每一个Java小白。确实对于零基础的初学者来讲,Java并不是一门简单的编程语言,要想从入门到精通Java,必须要有详细的学习规划和方法,最好还要有具备自身Java开发经验老师的指导。不然只是头脑一热就决定学习Java,多半在半途就容易放弃。下面小编来和大家好好谈谈零基础小白入门Java要做到哪些准备,大家如果对Java学习又兴趣不妨看一看。
9247
2019-10-16 18:52:00
java培训班出来有用吗?实践出真知!
话不能说的绝对。虽说条条大路通罗马, java交通真发达。java培训班出来有用吗?实践出真知!但半途弃java的人多只有多,成功的只有少数,如果真想从事这方面工作,小编还是建议你早起的鸟儿有虫吃,赶紧加入java这条大路吧。
6703
2020-01-09 18:29:53
怎样获取系统的Java学习路线?
对于自学Java后端开发,或者转行进入Java开发领域的同学而言,不了解Java后端开发需要学习什么,究竟应该从哪里开始学习,哪些技术是目前市场需求的主流Java开发技术等等。导致很多同学本来计划学习,却又不知如何下手
7523
2020-07-24 16:18:26
没有学过C语言可以学Java吗?
没有学过C语言可以学Java吗?Java和C语言之间并没有紧密的关系,虽然Java的实现借鉴了一些C设计,但对学习者来说先学谁后学谁都无所谓。没有学过C语言不可以学Java,不存在一定这个说法,学没学习C语言都可以学Java编程。
8297
2020-10-12 14:50:34
