java 和c的具体区别
作者&投稿:吁败 (若有异议请与网页底部的电邮联系)
C面向过程
C++半个面向对象
JAVA从C++发展而来,吸取了C++精华
C#更是JAVA的超级版
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()函数释放空间。
1、C需要在目标平台上编译为机器码(二进制可执行文件)才能执行;Java可以在任何平台上编译为字节码(class文件),便可以在几乎所有平台上执行;
2、C编译过的文件可以直接执行,效率更高;Java编译过的文件必须在特定平台上的虚拟机内运行,性能相对较差;
3、Java属于静态编译型、面向对象的高级语言;C也属于静态编译型,但是面向过程的中级语言;C对于计算机基础设施具有更强的操控能力,但需要较丰富的经验和技巧;Java中较底层的代码通常使用C并基于JNI方式实现;
4、实际应用中,C更多的应用于操作系统、硬件驱动、设备控制等开发场景;Java则在服务器端编程中占据了主导地位;
5、最近几个月的Tiobe编程语言排行榜中,Java的排行有下降的趋势,C有缓慢上升的趋势,前者和后者在最近的排行榜中占据了头两把交椅,占有率均在百分之十八点几;
6、还有好多
Java 面向对象,C面向过程
Java 面向对象,C面向过程
Java 面向对象,C面向过程 .
Java 是跨平台的语言,编译出来的class字节码文件,运行是通过Java虚拟机边解释边执行的
C 一门比较底层的语言,可以与硬件直接打交道的,C程序要在当前编译之后才能运行,不同的
平台要由不同的编译器去编译
Java 面向对象,C面向过程
郦王维血: JAVA是面向对象语言,C是面向过程语言.1、C需要在目标平台上编译为机器码(二进制可执行文件)才能执行;Java可以在任何平台上编译为字节码(class文件),便可以在几乎所有平台上执行;2、C编译过的文件可以直接执行,效率更...
兰西县18527482436: 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语言要容易些
兰西县18527482436: JAVA和C语言有什么区别? - ?
郦王维血: java是面向对象的编程语言.c是面向过程的编程语言,而且JAVA是可以跨平台的.而C语言不能,但能够直接操作硬件,并且生成机器码的效率高.C语言有指针,想要学好C语言,指针就必须学好.JAVA是没有指针的.在C语言中,是可以不初始化使用的,而在JAVA中,是必须初始化值的.总的来说,C语言是基础语言,JAVA是面向对象的一门语言.
兰西县18527482436: C语言和JAVA有什么区别? - ?
郦王维血: 相同的地方: 1、语法类似: 由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似 2、编程的熟练程度就是对语言程序库的掌握程度: 从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C...
兰西县18527482436: Java与C语言有什么不同啊?具体有那些不同?? - ?
郦王维血: java是面向对象编程; C语言是面向过程编程. 语法差不多都类似,语言是相通的,学了C或者学了java,再去学任何一门语言,都会感觉上手很快的.java侧重开发应用,而C语言侧重底层开发.比如Android手机的应用程序,或者企业的管理系统,应用级别的都是java做的;而比如你的电脑的显卡驱动或者手机内部系统移植或者一些很底层的东西,必须拿C语言实现.
兰西县18527482436: java 和C语言有什么区别? - ?
郦王维血: Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象.另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程...
兰西县18527482436: java语言与c语言的不同 - ?
郦王维血: 往大了说没有什么不同,所有编程语言在本质上都是想通的.逻辑算法什么的自然不用说,都是一样的.往细节了说,c是面向过程的而Java是面向对象的.面向过程是将问题简化为一个过程,面向对象则是将事物对象化,也就是所说的“类”.具体的异同还要自己亲自体会,毕竟所有别人说的都是别人的观点.
兰西县18527482436: c语言与java语言的区别有哪些??
郦王维血: C语言是一个基础语言,JAVA语言是一个快速开发语言,其区别较多,主要区别如下: C语言实现: 新型编译器,如JAVA, C#, 实时操作系统,如Linux(90%) , vxwork(60%) , WINDOWS 90%硬件相关的板卡. MS51-96-196-8086-ARM32,甚...
兰西县18527482436: JAVA和C语言有什么区别??
郦王维血: C语言主要是面向过程的.而java面向对象的. java中封装了很多包,要调用的时候直接导入包,并且new出一个对象即可,和C++优点类似. 语言的发展现有了面向过程,才有了更加高级的语言面向对象. 所以C语言是学习其他语言的基础. C语言的数据结构,数据类型,在其他的语言中都有体现,只是体现的方式可能不一样. 所以要想学习C++或者java必去先把C语言搞懂. 如果还有不明白的,可以追问.
兰西县18527482436: C语言和JAVA这两种语言的区别 - ?
郦王维血: 从本质上说:C语言面向过程,JAVA语言面向对象.从应用的角度看,C语言更多的用于对底层硬件的抽象(如:嵌入式、单片机领域),JAVA更多用于应用层软件的开发(如:B/S模式、C/S模式的软件)