当前位置:首页 » 编程语言 » c与java

c与java

发布时间: 2022-01-09 11:56:28

⑴ 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()函数释放空间。

总的来说,Java比较容易上手,学得快,但对于了解编程语言来说帮助不如C大。
当然Java和C之间的区别还有很多很多。

反正就各有各的优势啦,C一般负责底层 java这就是应用程序

⑵ Java和C + +有什么区别

差别很大,c是典型面向过程的编程语言,java是完全面向对象的编程语言。

c语言和java的区别

C语言是面向过程的语言,java是面向对象的编程语言,当然C#等也是面向对象的!
C语言开始确实比较容易上手,只要是让你熟悉
选择
循环
和顺序
(if
for)
等,到最后你还是要改变思想到面向对象上,其实先学哪个后学哪个不重要,主要看你用多少心,
c语言初学的话可以用TC2.0
TC3.0
或者
winTC
,如果学java的话建议使用记事本练习基础,推荐使用EmEditor
最好有英文基础
因为java的开发工具基本都是英文的,当然,也可以汉化,不过基本没人用,我
英文一点不好一样用英文的。

下面说一下发展前景,c有几个方向
C
C++
C#
其中C是最难的,也是最赚钱的主要从事底层开发,比如驱动....c++主要用于大型桌面客户端
比如网络游戏。。。。
c#
也用字桌面应用程序

web程序中
asp.net就是用c#

我知道的是这些
但是请注意ASP.NET的开发工具是收费的

java也分几个方向
java因为有移植性好的优势
所以
被用在很多地方,比如手机软件,
javaSE可以做简单的java程序
javaME是用来开发手机应用程序
比如手机游戏,
javaEE是用来做WEB程序的
一些大型网站

java和C的最大区别
我觉得就是java是开源的(免费)
c是收费的(不开源)
java的所有核心代码你都是可以看到的,而C的
比如C#底层的代码你根本就不可能看到。

当然
不能说
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的区别

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()函数释放空间。

⑹ 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强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

引用前辈的分析,希望能帮到你!

⑺ javac与java的区别

javac用来编译java文件,java用来执行。
1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件。

2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码。

热点内容
实测华为编译器 发布:2024-09-19 23:50:52 浏览:821
linux汇总 发布:2024-09-19 23:46:39 浏览:452
阿里云服务器环境搭建教程 发布:2024-09-19 23:21:58 浏览:837
黄色文件夹图标 发布:2024-09-19 23:19:22 浏览:684
mysql数据库导出导入 发布:2024-09-19 23:00:47 浏览:183
lua脚本精灵 发布:2024-09-19 23:00:41 浏览:659
任务栏文件夹图标 发布:2024-09-19 22:54:25 浏览:101
解压来一波 发布:2024-09-19 22:46:36 浏览:933
mysqlpythonubuntu 发布:2024-09-19 22:46:27 浏览:501
服务器请求获取ip地址 发布:2024-09-19 22:33:25 浏览:515