java 和c语言的主要区别在哪呢?
发布网友
发布时间:2022-02-28 13:54
我来回答
共4个回答
懂视网
时间:2022-02-28 18:15
1、效率不同:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。
2、通用性不同:C语言不能跨平台;java可以跨平台直接移植。
3、基本数据类型不同:c语言的基本类型的位数和操作系统和机器相关,而java是固定的;
4、文件组织方式不一样:c语言会把全局变量和方法的声明,放在一个文件里面,叫做头文件,而java 是以类来组织文件的。
5、应用领域不同:C语言主要用于驱动开发、操作系统、内核开发,嵌入式(单片机)、交换机、路由器等网络设备的开发;java主要是企业应用开发,包括服务器端开发、嵌入式领域、大数据技术、网站领域等。
总结
Java与C语言在效率、通用性、基本数据类型、文件组织方式和应用领域等方面都有所不同。
热心网友
时间:2022-02-28 15:23
代码书写格式不一样
c面向过程
java面相对象
c有指针,java没有
java有类,c没有
java要虚拟机来解释运行,c不需要
java有垃圾回收机制,c没有
c更适合底层
java更适合网络
热心网友
时间:2022-02-28 16:41
1、指针
JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了C语言 语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于JAVA程序的安全。
2、多重继承
C语言支持多重继承,这是C语言的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends implement),实现了C语言多重继承的功能,又避免了c 中的多重继 承实现方式带来的诸多不便。
3、数据类型及类
JAVA是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而C语言允许将函数和变量定义为全局的。此外,JAVA中取消了C语言中的结构和联合,消除 了不必要的麻烦。
4、自动内存管理
JAVA程序中所有的对象都是用new操作符建立在内存堆栈上,这个操作符类似于C语言的new操作符。下面的语句由一个建立了一个类Read的对象,然 后调用该对象的work方法: Read r=new Read(); r.work();语句Read r=new Read();在堆栈结构上建立了一个Read的实例。Java自动进行无用内存回收操作,不需要程序员进行删除。而c 中必须由程序员释放内存资源,增加了程序设计者的负担。JAVA中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。Java里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。
5、操作符重载
JAVA不支持操作符重载。操作符重载被认为是C语言的突出特征,在JAVA中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。JAVA语言不支持操作符重载是为了保持JAVA语言尽可能简单。
6、预处理功能
JAVA不支持预处理功能。C语言在编译过程中都有一个预编译阶段,即众所周知的预处理器。预处理器为开发人员提供了方便,但增加丁编译的复杂性。JAVA虚拟机没有预处理器,但它提供的引入语句(import)与C语言预处理器的功能类似。
7、JAVA不支持缺省函数参数,而C语言支持
在C语言中,代码组织在函数中,函数可以访问程序的全局变量。C语言增加了类,提供了类算法,该算法是与类相连的函数,C语言类方法与Java类方法十分相 似,然而,由于C语言仍然支持C语言,所以不能阻止C语言开发人员使用函数,结果函数和方法混合使用使得程序比较混乱。 JAVA没有函数,作为一个比C语言,更纯的面向对象的语言,JAVA强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。
8、字符串
C语言不支持字符串变量,在C语言程序中使用null终止符代表字符串的结束,在JAVA中字符串是用类对象(String和StringBuffer)来实现的,这些类对象是Java语言的核心,用类对象实现字符串有以下几个优点:
(1)在整个系统中建立字符串和访问字符串元素的方法是一致的;
(2)字符串类是作为Java语言的一部分定义的,而不是作为外加的延伸部分;
(3)JAVA字符串执行运行时检空,可帮助排除一些运行时发生的错误;
(4)可对字符串用“十”进行连接操作。
9、“goto“语句
“可怕”的goto语句是C语言的“遗物”,它是该语言技术上的合法部分,引用goto语句引起了程序结构的混乱,不易理解,goto语句子要用于无条件转移子程序和多结构分支技术。鉴于以广理由,JAVA不提供goto语句,它虽然指定goto作为关键字,但不支持它的使用,使程序简洁易读。
l0、类型转换
在C语言中有时出现数据类型的隐含转换,这就涉及了自动强制类转换问题。例如,在C语言中可将一浮点值赋予整型变量,并去掉其尾数。Java不支持C语言中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。
11、异常
JAVA中的异常机制用于捕获例外事件,增强系统容错能力 try{//可能产生例外的代码 }catch(exceptionType name){ //处理 } 其中exceptionType表示异常类型。而C 则没有如此方便。
热心网友
时间:2022-02-28 18:16
区别大了
程序都不一样
java和c的异同(java与c语言的异同)
Java能够进行垃圾收集操作,不需要程序员进行手动删除。在Java语言中,对象不需要进行使用,并且不需要使用内存回收器,只需要使用其标签进行删除即可。北大青鸟云南嘉荟校区官网建议垃圾收集器在后台运行,在空闲时间进行工作,C语言需要进行释放内存资源,这反而增加了程序员的工作负担。Java和c语言的区别C语言...
c语言和java的区别
1. 语法差异:C语言和Java的语法结构存在本质区别。C语言具有较为底层的控制能力,而Java提供了更高级的抽象。2. 编译速度:在编译单个文件时,Java通常比C语言快,因为Java拥有更高效的编译器和即时编译(JIT)机制。3. 内存操作:C语言允许直接访问和操作内存,Java则通过内存管理器来处理内存,从而提...
java和c语言有什么区别
内存管理的不同:在C语言中,内存管理需要程序员手动进行,包括动态内存的分配和释放等。而Java提供了自动的内存管理,程序员无需关心内存的分配和释放,降低了内存泄漏的风险。语言特性的差异:C语言具有强大的底层操作能力,可以直接操作内存,进行复杂的指针操作等。而Java为了安全性和跨平台性,对底层操...
java语言与c语言有什么区别呢?
java和c语言两者的区别如下:1、C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;2、C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。3、在速度上,C语言编写的...
c和java的区别
c和java的区别:应用领域、语言特征、复杂程度不同。1、应用领域 java基本可以称得上是“全场景”的编程语言,不论是网站开发,还是安卓开发,还是游戏开发等等,这些领域都不在java话下。而c语言就比较有局限性了,它更多的应用在物联网的嵌入式开发,以及操作系统上。从这个角度来看,学习java后的就业...
c语言和JAVA语言有什么区别?
两者的区别:1、面向对象Java的面向对象的指向性很明显,而C则是一个正规的结构化语言。 Java中有一个字符串类String, 通过调用 String.length()就可以了解字符串的长度,但是在C语言中,则需要使用函数strlen(str)来得到字符串(字符数组)的长度。2、名称空间Java通过包(package)来实现名称空间,在...
java和c语言有什么区别
java和c语言有什么区别?一起来了解一下吧。1、Java的文件编译时间比C语言快;C语言可以直接操作内存,Java不能;2、C语言可以封装动态库,Java不行;3、Java的代码容易跨平台,C语言不容易;4、C语言可以直接操作串口,Java需要第三方的支持;5、Java的线程是封装好的,C语言的线程更加灵活;6、Java...
java和c语言的区别
1、C语言代码不易跨平台,java代码易于跨平台;C语言可以直接操作内存,java不能直接操作;C语言可以封装动态库,java不起作用。2、Unix和Java都是用C语言编写的;C语言做单独的功能,可以提高效率,java适合Web应用程序开发;JAVA做网络开发的时候,已经有很多成型的框架技术,C语言很少,且需要处理底层...
c语言和java的区别?
C语言和JAVA的区别1、C语言是经典的面向过程的编程语言,编程入门一般都学C语言以了解编程以及锻炼逻辑思维能力,在一些跟硬件比较紧密的编程中也经常用到。2、指针在Java编程中是没有指针的,在使用Java的过程中,能够很好的避免指针出现错误导致系统崩溃的情况。在C语言中,指针的使用是非常重要的,如果...
c语言和java的区别是什么?
1、设计思路不同:C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低;2、通用性不同:C语言不能跨平台;java可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了;3、语法不同:(1)、基本数据类型不同:c语言是int short long char float double 还有一些特殊类型...