在线客服
扫描二维码
下载博学谷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。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
30岁零基础是否适合学习Java开发?
职业发展前景稳定、薪资水平高、就业机会多等优势,Java开发是现在大部分人进入互联网的首要目标。目前从事Java开发工作的以18-35岁之间的高端人才为主。那30岁零基础是否还是和学习Java开发呢?
7925
2019-07-11 17:28:24
Java入门基础语法笔记整理
无论是对于零基础的Java学习者,还是对于有一定经验的Java开发者来讲,基础的理论知识都是一切的前提和根基。都说万丈高楼平地起,想要熟练掌握Java开发,Java基础语法是大家首先需要牢固掌握的知识。本文为大家整理了Java入门基础语法笔记,需要学习的同学可以看看,这些基础内容你都掌握了吗?
7036
2019-11-28 10:31:02
Java案例基础练习汇总附答案
在完成了Java基础语法的学习之后,要想更好的巩固相应的知识点,最好的办法就是多做一些Java案例的基础练习。本文为Java基础语法的学习者整理汇总了一些基础练习项目,比如减肥计划if版本、减肥计划switch版本、逢七跳过、不死神兔和百钱白鸡等练习题目,还附上了代码实现的具体答案,下面一起来做做吧~
6477
2020-05-25 09:40:19
Node发展史介绍
如果没有服务器提供支持,没有数据库存储数据,那么我们写的代码只能在自己的电脑本地运行,网站也不能登录注册。而就是为什么要学习Node的原因,因为Node 就是做服务器的。在大家学习Node之前,我们先来看看Node发展史的介绍吧!
6716
2020-08-14 16:26:45
Java语言的特点有哪些?Java编程入门知识分享
Java编程具有用户友好性和灵活性,是web应用程序开发人员和程序管理专家的选择较多的编程语言。Java源代码编辑器是集成开发环境,不仅使程序员能够更快、更容易地编写代码,还提供了自动化的内建调试器特性。
5430
2021-02-21 11:57:12
