楼上说的很好, 这里我说说他们两个优缺点, 通过这个,可以看出他们的区别
Java
优点:
1.跨平台性
Java语言中,Java自带的虚 拟机很好地实现了跨平台性。Java虚拟机提供 了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。
2.面向对象
Java是-种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等。
3.安全性
运行时Java类需要类加载器载入,经由字节码校验器校验之后才可以运行。Java类在网络 上使用时,对它的权限进行了设置,保证了被访问用户的安全性。
4.多线程
Java除了内置的多线程技术之外,还定义了一些类、方法等来建立和管理用户定义的多线程。
5.简单易用
Java源代码的书写不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。
缺点:
运行速度相比于C/C+ +有些缓慢了,这是机制原因导致的。
C
优点:
1.简洁紧凑、灵活方便 .
C语言-共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象汇编语言一样对位、 字节和地址进行操作,而这三者是计算机最基本的工作单元。
2.运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3.数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
4.C是结构式语言
结构式语言的显著特点是代码及数据的分隔化即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程 序流向,从而使程序完全结构化。
5. C语法限制不太严格、程序设计自由度大
-般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。
6. C能直接访问物理地址和操作硬件
因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言-样对位、 字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。
7. C语言程序生成代码质量高
程序执行效率高一般只比汇 编程序生成的目标代码效率低10~20%。
8. C语言适用范围大,可移植性好
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。
另外
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。
缺点:
运算符和运算优先级过多,不便于记忆,语法定义不严格,编程自由度大,对新手不友好。