首页

文章

C语言和JAVA有什么区别?

发布网友 发布时间:2022-02-28 13:54

我来回答

8个回答

热心网友 时间:2022-02-28 15:23

区别如下:

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主要是企业应用开发,包括服务器端开发、嵌入式领域、大数据技术、网站领域等。

热心网友 时间:2022-02-28 16:41

想做好c语言或者JAVA前期一定要系统的学习一下。两者的区别:1、面向对象Java的面向对象的指向性很明显,而C则是一个正规的结构化语言。 Java中有一个字符串类String, 通过调用 String.length()就可以了解字符串的长度,但是在C语言中,则需要使用函数strlen(str)来得到字符串(字符数组)的长度。2、名称空间Java通过包(package)来实现名称空间,在C语言中,所有的函数都处于同一名称空间,也就是没有名称空间,因此就会很多程序提供的api接口函数都有一个前缀.3、内存管理在Java中,基本不用考虑内存的问题,如果想用一个对象,new一个就可以,这个过程的背后则是JRE为对象分类的一定内存,当JRE检测到你不再使用这个对象的时候,他就会自动回收内存,也就是说你只管借东西,不用管归还,因为与有人当你的跟班,在你不使用的时候就把东西归还了,不过这个过程还是有的,只不过是JRE作的而已。达内教育
但是C语言则不同,如果你想用,你可以用malloc之类的方法申请内存,当你使用完了,因为没有跟班的,你需要自己把这块内存归还回去,也就是调用free方法来完成这个任务。由于需要显式的归还内存,因此当一个函数需要将一块内存返回给调用者的时候,问题就相对复杂了,不像面向对象和具有内存回收功能的Java那么直观了。
想学好C语言或者JAVA,必须要到专业的教育机构进行系统的学习。达内在培训行业是做的非常专业,拥有19年专注C语言培训,携手一线行业大咖研发课程,并亲自参与授课。60%实训项目,有4个课程进阶体系。同时达内有C语言和JAVA的线上公开课,可以进行免费的学习,感兴趣的可以参加一下达内的线上试听课,系统的学习一下。 免费试听报名入口
对于这个问题,在C语言当中,有几种解决方式:(1) 在调用者中先分配好内存,作为参数输送到被调用的函数中(2) 在被调用的函数中分配,使用完后在调用者中释放(3) 在被调用函数之中使用static变量,可以将该变量返回。

热心网友 时间:2022-02-28 18:16

简单来说:

一个面向过程,一个面向对象

2.一个不可移植,一个是可移植

3.一个有可直接操作内存,一个不可直接操作内存

4.一个垃圾回收要程序员手动进行,一个自动垃圾回收。

5.一个是跨平台,一个不跨平台

往复杂说:

从概念上看,C语言是一门面向过程、抽象化的通用程序设计语言;Java是一门面向对象编程语言,而Java语言是从C语言衍生而来,它吸收了C++语言的各种优点,并且摒弃了C++里难以理解的多继承、指针等概念。从概念可以看出C语言相当于Java的基础语言,学完C再学Java会更容易。

从应用领域上,C语言和Java的应用领域几乎没有重合。因为随着这几年Java、web、PHP等语言的出现,它们凭借比C更简洁的、更安全的性能快速崛起,抢占了大量的市场。目前因为Java有完善的框架,在多线程、高并发方面有着较好的稳定性,所以Java主要应用于企业级应用开发、大型系统开发等领域。而C语言由于编程的复杂性,退守到了系统级别语言,而且因为想要系统级软件可以发挥出机器的功能,它的底层核心就需要用C/C++来编写,所以C语言主要应用于软件工业。

从应用领域看学Java比学C语言前景会更好,因为Java的应用领域比较广,各大公司更多也是招聘Java开发人才。不过你还忽略了一点就是学习难度,Java的学习难度比C语言要大一些,学习门槛比C语言也高。所以如果你本科以上学历,小编建议你学习Java,而如果你0基础、学历也高的话可以选择学C语言,学完C语言后如果你还想学Java可以再继续学Java,学完C再学Java更简单。

热心网友 时间:2022-02-28 20:07

java和c语言两者的区别如下:
1、C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;
2、C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。
3、在速度上,C语言编写的程序要优于Java
4、C语言注重的是算法,但是Java却不一样,想用的时候导包就可以了。C语言的算法很重要,但是Java中的算法没有C语言那么复杂。
5、Java采用Unicode字符集,C语言通常采用的是ASCII字符集,A—65,a—97。
6、C语言的变量可以不进行初始化,但Java的变量要进行初始化。

热心网友 时间:2022-02-28 22:15

Java和C都是指令式语言(Imperative
Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。
另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。
再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。
再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage
Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。
总的来说,Java比较容易上手,学得快,但对于了解编程语言来说帮助不如C大。
当然Java和C之间的区别还有很多很多。

热心网友 时间:2022-03-01 00:57

Java是一种面向对象的语言,c是一门面向过程的语言,打个比方来说,你要给你朋友寄快递,Java的做法是找家快递公司,把快递交给快递公司,告诉快递公司需要送到你朋友所在地中你朋友手里,然后快递公司接到快递之后,会帮我们把快递送到目的地的你朋友的手中,这样我们就完成了我们的操作,这里面的快递公司就相当于一个对象;而对于面向过程的编程语言来说,由于没有对象的概念,所以他需要自己想办法走到你朋友所在的地方,找到朋友,然后将快递交给你朋友;这样相比较,Java会简洁方便很多。

热心网友 时间:2022-03-01 03:55

从应用领域上,C语言和Java的应用领域几乎没有重合。因为随着这几年Java、web、PHP等语言的出现,它们凭借比C更简洁的、更安全的性能快速崛起,抢占了大量的市场。目前因为Java有完善的框架,在多线程、高并发方面有着较好的稳定性,所以Java主要应用于企业级应用开发、大型系统开发等领域。而C语言由于编程的复杂性,退守到了系统级别语言,而且因为想要系统级软件可以发挥出机器的功能,它的底层核心就需要用C/C++来编写,所以C语言主要应用于软件工业。

热心网友 时间:2022-03-01 07:09

相同的地方:

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_。

给你找的资料。
希望对你有所帮助。。
谷歌浏览器怎么设置成中文_谷歌浏览器设置中文语言 【谷歌浏览器技巧】谷歌浏览器如何更改语言? 史上最全ETF全解 证券ETF是深市的吗 怎样把莲藕肉丸子做的好吃? 高三语文小说赏析小说形象分析与答题技巧 人物形象题答题技巧 借助什么分析小说的人物形象 脖子旁边疼是什么原因 在群里不是好友怎么把群里人建另一个群 蛇床子的药理作用 炒蛇床子和生蛇床子有什么区别 为什么把床头垫高点 为什么床头高点儿 为什么要给新生儿抬高床头 人脸识别打卡考勤机找哪家? 背后搞你的人什么心态 很皮的搞笑撩人句子高情商的撩人句子(82句) 恶搞爱情短信 床头挂什么财运最旺最好 床上放什么东西辟邪 道家床头挂什么画最好最旺 床头贴什么最好最旺道家 建设工程竣工后,是否必须取得《规划验收许可证》? 环评竣工验收 手机几年没用了开不了机怎么办 红烧啤酒鸡的家常做法大全怎么做好 双男主泰剧新剧推荐 2019泰剧《爱情理论》小受暗恋花心直男好友 液体卫生巾和普通卫生巾的区别是什么?液体卫生巾的优点 可水洗粘尘垫哪家好 电脑12g够用吗? 宝宝双侧肺炎病变严重吗 什么是洁净气体灭火器 2024年实用父亲节礼物推荐有哪些?(2300字选购指南) 40包速溶咖啡比对 作文请以“这样挺好”为题,写一篇记叙文或议论文,不少于800字。要求... 如何写好作文我就是这么好 惊魂未定什么意思?有什么典故? 安阳火车站到新师院北门的公交车有哪些? 安阳市公交车26从火车站发车多长时间到终点站 太仓汽车站去太仓乐遥浏河公墓坐几路公交 请问廉江市哪里有奥克斯手机专业维修店,急!! 梅赛德斯奔驰E350敞篷版的整体简介及其性能如何 员工出差前需要做什么准备工作? 用(祝愿自己生日快乐)写首藏头诗,希望有才华的人帮帮忙,谢谢了_百度... 请问做爱前吃什么药可以延长做爱时间? 我每天锻炼,然后吃什么,能延长我房事时间?现在两分钟,双方都苦恼。_百 ... 做爱前吃什么最能滋补身体 吃什么能让房事时间长些? JAVA语言和C语言有什么区别? java 和javac的区别 java与c语言有什么区别 javac与java的区别 java与c语言的区别?各有什么用途? C语言和java相比较,各自的优势是什么? C语言与C++与JAVA的区别是什么? 怎么才能不退群情况下不接群消息? Java和C的区别 C语言和JAVA的区别? C语言和JAVA的区别 Java和c语言的区别 java和c语言有什么区别和联系? java 和c语言的主要区别在哪呢? C语言和java语言的区别和联系? C语言for循环的使用和讲解有哪些? C语言中,for的使用问题? c语言中for语句是怎么用的? C语言中,for语句的用法? C语言for循环详细讲解 c语言和java的区别和联系 JAVA语言和C语言有什么区别? c语言可以开发哪些东西? C语言能开发什么 c语言可以开发什么 C语言能够开发什么东西 C语言可以开发应用软件吗? C语言工程师一般都做什么什么项目的开发? C语言都可以开发什么软件 用c语言能开发哪些小型软件? C语言能开发什么游戏 C语言现在主要用于什么开发? 义乌有那些特产,有什么好吃的 义乌有什么特产? 义乌有那些特产 义乌特产是什么? 义乌最出名的是什么特产 浙江的义乌有哪些特产? 浙江义乌的特产有什么? 义乌特产都有什么?在哪能买到白字酒和顶陈酒
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com