区别:
1、在运行方式上:
C:原始的C是面向过程的.就是按行执行.
JAVA:绝对的面向对象.就像按模块执行.
(补充:当然,在C++,及C#上,C也有向面向对象模式转换)
2、在语句结构上:
C:在中国应该算是编程语言的颠峰应用.C就像个完全服从的军人.你让他做什么他就做什么.你完全控制他,但你必须全程了解他之后才能控制好他.
C里面特有指针,地址等.以及数组存储方式与JAVA不一样.
JAVA:人性化的面向对象编程语言.他把万物都可以看成一个基本的对象,然后再复制,改写他们.
JAVA给认为有点像工厂,你在工厂里面先分别做好一个个小零件,然后再用电线把他们连起来.组装成可用的东西.
3、用途上
C:纯C一般用在嵌入式上.编写最底层的程序.因为他的语言与硬件的连接最容易.
C++:应用软件,WEB程序都可以.
JAVA:J2EE,J2SM,J2ME.什么都可以
c 嵌入式底层软件 操作系统 各类函数库引擎库软件核心代码 服务器端底层工具
c++ 图形图像 游戏客户端 游戏服务端桌面软件各类高性能客户端软件近底层软件
java嵌入式移动设备应用软件开发 web网页后台逻辑开发部分桌面程序
C,JAVA其实都可用在各种领域的.
语法不同:
单文件的编译时间java比C语言快;
C语言可以直接操作内存,java不能直接操作;
C语言可以封装动态库,java不行;
C语言的代码不容易跨平台,java的代码容易跨平台;
C语言有指针,java没有指针;
C语言可以直接操作串口,java需要第三方jar包支持;
C语言的线程更加灵活,java的线程都已经封装好了;
C语言做单独功能,可以增加效率,java适用做web应用开发;
unix是C语言编写的,java也是C语言编写的;
JAVA做web开发的时候,已经有很多成型的框架技术,C语言很少,且需要处理底层内容,对应不熟悉计算机原理的开发者难度很大;
JAVA的开源包太多了,C语言也有但是偏少,而且面向某个业务应用领域的框架没java多;
JAVA和C还有一个最大的区别,那就是跨平台。
通过JAVA虚拟机的解析,可以使在Windows或UNIX
上面写的程序在其他系统下也能运行,而C语言是绝对不行的。但是C语言在和硬件打交道的时候,速度是最快的。
C比较基础,java比较流行。但是2者没有上下之分,一个是编程语言的鼻祖,一个是目前流行的跨平台语言.擅长的领域不同,在不同的场合用不同的语言。但是,如何运用好这门语言,也就是对程序员的一个考验。
鱼和熊掌的问题,取舍最终还是只能看你自己。
java与c相同点:
1、语法类似:由于Java可以算是从C++发展而来的,因此Java与C语言的语法比较类似
2、编程的熟练程度就是对语言程序库的掌握程度:
从某种程度上来说,编程语言都是由语法和相应的程序库所构成,Java有自身的类库,C语言则有标准库。所谓的编程,就是使用与语法来调用和组合程序库中的函数。
C、C++、C#其实也是三种不同的语言
C++是C的增强版,增加了一些新的特性,如面向对象 C#跟 C/C++ 完全不同,是微软开发的语言,用于.net,
只是语法有点像C/C++ 要说区别,首先就得说联系, C是爷爷,C++是爸爸, C#是c的外孙。这形象说明了三者的关系。
从时间先后上说,他们之间最早出现的是C,然后是c++,最后是c#。c++是为了解决软件危机而引入面向对象,
c#为了实现平台统一和java争夺市场下的产物。