java语言与c语言的区别
相同的地方:
1、语法类似:
由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似
2、编程的熟练程度就是对语言程序库的掌握程度:
从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库。所谓的编程,就是使用与语法来调用和组合程序库中的函数。
不同的地方:
1、内存管理
在Java中,基本不用考虑内存的问题,如果想用一个对象,new一个就可以,这个过程的背后则是JRE为对象分类的一定内存,当JRE发现你不再使用这个对象的时候,他就会自动回收内存,也就是说你只管借东西,不用管归还,因为与有人当你的跟班,在你不使用的时候就把东西归还了,不过这个过程还是有的,只不过是JRE作的而已。
但是C则不同,如果你想用,你可以用malloc之类的方法申请内存,当你使用完了,因为没有跟班的,你需要自己把这块内存归还回去,也就是调用free方法来完成这个任务。由于需要显式的归还内存,因此当一个函数需要将一块内存返回给调用者的时候,问题就比较复杂了,不如面向对象和具有内存回收功能的Java那么直观了。对于这个问题,在C语言中,有几种解决方案:
(1)
在调用者中先分配好内存,作为参数传入到被调用的函数中
(2)
在被调用的函数中分配,使用完后在调用者中释放
(3)
在被调用函数中使用static变量,可以将该变量返回
2、面向对象
Java的面向对象的特点很明显,而C则是一个地道的结构化语言。
Java中有一个字符串类String,
通过调用
String.length()就可以知道字符串的长度,但是在C语言中,则需要调用函数strlen(str)来得到字符串(字符数组)的长度。由于C不是面向对象的语言,也就没有this的概念,因此当使用一个与某个“东西”相关的函数时,就需要不厌其烦的将代表这个“东西”的变量作为参数传递进去。
3、名称空间
Java通过包(package)来实现名称空间,在C语言中,所有的函数都处于同一名称空间,也就是没有名称空间,因此就会很多程序提供的api接口函数都有一个前缀,例如MYSQL的mysql_init(),
mysql_real_connect(),
mysql_real_query()等函数名称前面的mysql_。
给你找的资料。
希望对你有所帮助。。
『贰』 C语言和Java的区别
首先从概念上说,Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型版编程的特性。权c语言是一门面向过程、抽象化的通用程序设计语言。Java的面向对象的特性使得用它编程比用C语言要简单很多。而且Java脱胎于C语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,所以Java相对C语言来说更简单易用。
其次从适合人群上来说,名企在招聘Java技术人才时一般会要求大专以上学历,所以想找Java类工作,学历是个槛;而C语言行业对于学历并不那么看重,C语言开发工程师学历要求中大专学历占比较高。
第三从就业机会上来说,Java由于具有跨平台性、安全性、健壮性等特性,广泛应用于企业级应用开发、网页开发、游戏开发等领域,就业面相对较广,而C语言退守到系统级别语言,成为软件工业的基础,地位稳定,广泛应用于底层开发,嵌入式、VR/AR、网络安全等领域都需要用到C语言。
最后从薪资待遇来看,从职友集数据可知,Java开发类人才的平均薪资在一万以上,C语言工程师的平均薪资在8千到一万之间。Java开发类的工资较高些。
『叁』 Java和c语言的区别
C语言是底层的语言,
java可以看作是在C上面封装起来的一种语言,就像建一座高楼一样,C语言更像砖块,沙石等这些基础的东西,而java可以看作是砖块和沙石这些东西组合起来的一面可以搬来搬去的墙。
『肆』 JAVA语言和C语言有什么区别
C语言和 Java的主要区别:面向过程/面向对象、编译型/混合型、不同的应用场景。只要阅读二者的入门资料就清楚了。时间足够的话,先学C再学Java;时间不够直接上 Java。一个合格的程序员当然是要会C语言的,不过真正必须用到C语言的领域主要是嵌入式开发和操作系统等偏底层的开发。题主所提到的开发场景(Web开发、移动开发)并不是C语言的强项。而选择 Java 的话,首先要把这门编程语言的基础打牢,了解面向对象编程的基本思想。然后选择 Java 的其中一个应用领域继续深入学习,比如 Web 后台或者安卓开发。Web开发,即题主所说的“做网站”。网站开发分前端和后台,这两个方向精通其一即可。简单粗暴地理解,前端是呈现给用户的网页界面以及交互操作,运行在用户的浏览器上;而后台负责存取和处理数据,运行在服务器上。前端和 Java 没有多大关系,需要学习的是 HTML、CSS 和 JavaScript。学完 JavaScript 基础之后,再上手一种前端框架,Vue、React、Angular 都可。后台的话,编程语言可选 PHP 或者 Java。选择 Java 的话,就必须掌握一种主流的 Ja
『伍』 C语言和java相比较,各自的优势是什么
c语言与java的区别与各自的优势:(c是面向过程的,java是面向对象的)
1.语言背景:
C语言是在单机时代应用非常广泛,它融合了高级语言的简单易用和汇编语言的执行效率。而Java是在研究电子消费产品开发平台和互联网应用的基础上实现的,它的许多语言特性也是从c语言那里沿用和发展,并且使面向对象更加自然和完善(如安全性和代码的移动性)。
2.语言跨平台:
C语言不可以跨平台,JAVA 是不怕这一点的,因为Java可以跨平台,在windows 和 unix 等系统上都可以很好的运行。
3.指针管理:
指针是c语言最大的优点,它可以使用户几乎可以访问计算机的所有内存资源和其他部分资源(就是指那里打那里)。同时也是c语言程序最难掌握和调试的问题,并且给系统的安全性和稳定性带来很大的困难。 而java中没有指针的概念,尽管也有数组和对象的引用的概念,但它的管理全部交给系统管理,这样限制了用户的资源的访问,但是也给java系统带来安全性和稳定性。JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全
4.封装
在java中引入了package的概念,使面向对象和面向组件开发更加方便,而在c语言中没有package概念,需要其他方式来实现。Java都能够实现面向对象思想(封装,继乘,多态)。而由于c语言为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c语言的固有缺陷。
5.数据类型及类
Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c语言允许将函数和变量定义为全局的。
6.自动内存管理
Java程序中所有的对象都是用new操作符建立在内存堆栈上, Java自动进行无需内存回收操作,不需要程序员进行删除。而c语言中必须由程序贝释放内存资源,增加了程序设计者的负扔。Java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。
7. 字符串:
C语言不支持字符串变量,在c语言程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来实现的,这些类对象是Java语言的核心!
Java没有函数,作为一个比c语言更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。
我觉得这篇文章写的很好,就摘录给你看了,希望可以帮助到楼主
『陆』 C语言和JAVA有什么区别
区别来如下:源
1、设计思路不同:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;
2、通用性不同:C语言不能跨平台;java可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了;
3、语法不同:
(1)、基本数据类型不同:
c语言是int short long char float double 还有一些特殊类型 结构体,指针,联合体等,数组,字符串 ;
java 是byte int short long float double char boolean ,而且c语言的基本类型的位数和操作系统和机器相关,而java 是固定的;
(2)、文件组织方式不一样:c语言会把全局变量和方法的声明,放在一个文件里面,叫做头文件,而java 是以类来组织文件的;
4、应用领域不同:C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发;java主要是企业应用开发,包括服务器端开发、嵌入式领域、大数据技术、网站领域等。
『柒』 Java和C语言有什么区别
这个问题很多人问我了,你可以在网络知道上搜索,有很多都是我敲的,并且都是最佳答案。今天我就再帮一次兄弟,不过回答保证更为精准。
这个C语言是面向过程语言,C++是混合型语言,java是面向对象语言。很多书中吧C++作为面向对象语言来讲,但是实际上C++不是纯种的面向对象语言。java是面向对象的代表。如果你听说过C#的话,那么C#是面向对象的终结。
当然这些对于初学者来说不太明了什么是面向对象、什么是面向过程。而我在这里解释也会让你更加懵懂。所以撇开什么是面向对象什么是面向过程,单单介绍他们实际应用区别:
C是一门非常干练的语言,一切采用函数的形式完成,你可以把所有需要的功能采用函数的形式完成,然后在主函数main中调用。学起来容易,几乎用三两天就可以学会。一般用来教学学习算法,数据结构等。同样这也造成了它的应用范围局限在小程序中,只能是针对小规模的东西开发:比如DOS程序,嵌入式开发等。
C++是在C语言的基础上扩展的,所以一般C++会兼容C语言库。C++是因为用C语言开发项目中会遇到很多团队合作问题,导致团队的工作效率下降。在此基础上迫切需要降低软件开发团队成员之间彼此的干扰性,使得每个工程人员的代码竟可能不影响他人。最后C++便应用而生了。C++主要是其中集成了类地概念,可以将所有的东西封装在类中,类中的私有成员不可被别人访问,这样就有效地解决了代码互干扰性。
java是汲取C++的长处而诞生的,这个语言采用完全面向对象的概念,将所有的功能封装在类中,而不像C++部分封装。由于java采用跨平台性,使得更容易被移植,在互联网要求多终端能够互相访问成为可能,这便形成了java平台今日的盛况,在互联网方面几乎无人可敌。
学习难易程度来讲C++非常难,即使有5年工作经验的C++工程师也未必能够熟练应用C++,C语言易掌握,但是应用起来难度不下于C++,因为C语言几乎是对硬件直接写代码,一般来说会使得代码非常庞大,增加了开发人员的工作量。java因为封装了很多功能,所以几乎开发效率相当高。
『捌』 JAVA语言和C语言有什么区别
1、JAVA中的内存分配是动态的,程序员不必关心内存管理方面的问题 2、内JAVA是一种解释型的语言容 3、JAVA没有指针 4、JAVA仅允许单一继承 5、JAVA不能定义全局变量 6、JAVA不用goto语句 7、JAVA不支持宏定义 8、JAVA对每种数据类型都分配固定长度 9、JAVA中没有头文件 java和C最本质的区别就是, java是面向对象的语言,而C是面向过程的语言(虽然C可模拟OOP, 但它从本质来说还是面向过程的). 而C多用于开发驱动程序,系统内核,嵌入式程序,等对速度要求比较高的程序. 它们的应用领域也不同,Java侧重于游戏类等软件,C语言侧重于应用程序的编辑相比而言c语言要容易些
『玖』 C语言和java语言的区别和联系
各种编程语言既相互区别,又相互联系,一般来说,编程的话都是从c语言学起,然后再学习其他语言如c++,java,c#等的时候就会比较好理解了。
『拾』 java语言与C语言的不同之处
它们的区别很大,他们编写的方式是很不同的,而且JAVA有现成的包,C语言是编程的基础