Java

是由C++演变而来的,而C++却是由C 演变而来的,Java与C既有相同

的地方,但是也具备了各自的特点。

一、Java的特点

1、平台独立性

2、面向对象的技术

3、多线程

4、动态性

5、安全性

二、C语言的特点

1.

运算符丰富

2.

数据结构丰富

3.

C语法限制不太严格、程序设计自由度大

4.

C语言允许直接访问物理地址,可以直接对硬件进行操作

5.

C语言程序生成代码质量高,程序执行效率高

6.使用了指针,使程序更加灵活

虽然它们不是一种语言,不过它们却也有所联系。广泛地说,C可以看作其他三种语言的源语言,因为其他三种语言几乎都是从C而来的,无论从数据类型还是控制语句看,其他三种语言都有从C得来的迹象。

其中C则一般看作是对C语言的扩展。因为C语言没有面向对象的语法结构,而当时业界又迫切需要面向对象的编程特性,所以贝尔实验室的开发者就为C添加了面向对象的结构。

Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C。因为Java的运行是在运行时库的支持下进行的,所以运行效率比起可以更接近底层的C来说效率会有所影响,不过Java的类库采用很好的设计理念设计,非常好用,也非常实用,已经成为业界的一种标准开发语言。它的跨平台的特性尤其让很多开发者欢迎,你只需要开发一次就能在所有安装了Java运行时库的系统上运行。

C的优点在于与底层比较接近,可以控制的粒度更加精细,是开发系统级应用的最佳选择。关于缺点,我想正是源于其优点,因为它们能控制的编程元素粒度精细,所以编程比较困难,烦琐,容易出错。

Java比较高级,可以看作高级语言的高级语言,优点是开发容易,但运行效率不如更为底层的C。

具体选择使用的时候,可以根据实际的项目需要选择。运行效率要求高的,底层控制要求高的用C,否则可以选择Java或C#;跨平台的要求高的可以用Java。

关于跨平台,C也是很好的语言,因为所有平台都支持,不同的是,不同平台支持的实现不同,类库不同,要编写跨平台的程序,需要选择跨平台的类库,如标准类库,如果标准类库的支持不够也只需要附加编写一个跨平台的支持类库。

总的来说,他们都有自己的优点,C语言是针对底层进行开发,是针对硬件,而Java则是对软件打交到,针对的是对象,面向对象开发。不管是哪个,只要是学好,对你还是都会有不少的用出,但是C语言要去学透彻是比较难的,因为它比起java来说,更是一项脑力活。因为C语言用到的逻辑会比java多得多,因为java的不少的方法已经被封装起来了,我们尽管用,而C语言这是要自己来写,在这一点上,java也是进步了许多。