APP下载

程序设计语言c与Java对比分析

2018-10-19武慧东中北大学朔州校区

数码世界 2018年9期
关键词:数据类型多态C语言

武慧东 中北大学(朔州校区)

C语言的原形是ALGOL 60语言简称为A语言,1963年剑桥大学将其发展为CPL语言,1967年英国剑桥大学对CPL语言简化于是产生了BCPL语言。1970年美国的贝尔实验室以BCPL语言为基础,设计出了很简单很接近硬件的B语言。并用B写出了第一个操作系统。1972-1973年间美国的贝尔实验室在B语言的基础上设计出了c语言,C语言既保持了BCPL和B语言的精炼、接近硬件的优点,又克服了它们过于简单、无数据类型的缺陷。 JAVA语言最初称为Oak,1990年Sun公司开始致力于开发一种可移植的、跨平台的语言,该语言开发为了嵌入各种操作系统,能够编译各种CPU芯片上的代码,他们的精心研究和努力促成了Java语言的诞生。1995年由Sun推出的Java Development Kit 1.0a2版本,标志着Java的诞生,它的出现标志着分布式系统的真正到来。

1 C与Java的特点

c语言语言简洁、紧凑使用方便灵活,其中一共有37个关键字、9种控制语句,程序书写新式自由,包含了极少与硬件有关的成分,是一种内核语言,有34种运算符,数据类型涵盖整型、浮点型、字符型、数组类型、指针类型等。它还具有结构化的控制语句如if-else、while、do-while、switch和for语句。C语言语法限制不太严格,允许访问物理地址。可移植性好,目标代码质量好,程序效率高。但c语言编写的程序可能因为操作系统的变化,处理器升级导致程序出现错误无法运行。

Java的运算符、语句基本与c语言相类似,它具有简单、面向对象、平台无关性、多线程、动态,其中Java语言与其他语言相比最大的优势在与平台无关性、因为Java在平台上又提供了一个运行环境。其中Java的虚拟机把源程序编译成为字节码的中间代码,将字节码翻译成虚拟机所在平台的机器码,并让平台运行该机器码,这样实现了Java语言不依赖于平台的特点,下图是TIOBE在2018年6月的编程排行榜。

2 C与Java的语言程序举例

(1) c程序

#include

int main()

{

printf(“Hello,world ”);

return 0;

}

(2) Java程序

public class A{

public static void main (String args[ ]){System.out.println(“Hello,world”);

}

}

程序总是从main函数开始执行,C程序在Visual C++6.0环境下运行结果为Hello,world, Java在JDK 1.8环境下利用dos命令行运行结果也为Hello.world 。不同的是前者在程序中定义主函数,并利用printf语句输出,后者是先定义了一个主类,利用main方法中的 System.out.println语句输出。

3 Java语言与c语言上语法的差异举例

3.1 goto语句的完全抛弃

c语言中不建议使用goto语句,但仍然可以使用,Java使用try块去代替goto处理异常的功能,而且保留了break、continue程序中,允许了它在循环流程中的跳转。

3.2 字符集的扩大

Java语言使用Unicode字符集,最多可以识别65536个字符,字符集前128个字符刚好是ASCII码,它包含了世界上大部分语言的字母表。而在c语言中常使用的是ASCII字符集。因此在Java中作标识符的字符范围扩大。

3.3 数据类型的改变

Java在保留c语言的整型、字符型、浮点型、又新增加了逻辑类型,同时省去了c语言中的无符号的byte、short、int、和long,也把c语言中最灵活的指针类型替换为引用类型,确保了可以访问已分配的内存,这让Java和c有很大的不同。

3.4 编程思想的改变

Java语言和其他面向对象编程一样,引入了类的概念,用类去定义对象。C语言编写了一个函数,但没有面向对象语言那样去指定行为的主体,即没法说谁去负责了这个行为,而在java中最核心的内容就是对象,一切主体都围绕着对象展开,这就使得整个编程思维更符合人的思维模式。

4 Java语言体现的优势

封装性:面型对象的核心思想是将属性和对行为封装在一起,通过抽象,即从具体的实例中形成一般概念。例如面向抽象编程的时候,让程序设计者把主要的精力放在对程序的设计上,而不必拘泥于程序的实现。

继承性:继承体现了一种先进的编程模式,子类可以继承父类的属性和行为,即继承父类所具有数据和数据上的操作,同时又新增了子类特有的属性和行为。

多态性:一种多态是操作名称的多态,即多个操作名字具有相同的名字,另外一种是和继承有关的多态,即指同一个操作被不同对象去调用产生不同的行为。

结语:C作为最基本的编程语言,其表达能力强,结构完善、对以后开发新语言有借鉴作用。但JAVA相比起c来说有更强的实用性能够向下兼容;有很强的可扩展性、可靠性。最重要的是它的保鲜度很高。由此可见java比c有更多的优势,是一种优秀的编程语言,随着JAVA不断地更新,它将对世界产生更为深远的影响。

猜你喜欢

数据类型多态C语言
互联网+教育背景下的C语言程序设计教学改革探究
基于Visual Studio Code的C语言程序设计实践教学探索
如何理解数据结构中的抽象数据类型
51单片机C语言入门方法
面向对象程序设计中多态性探讨
Java语言中方法重载与方法覆盖的异同
《C++面向对象程序设计》中引用类型的教学实践
基于SeisBase模型的地震勘探成果数据管理系统设计
高职高专院校C语言程序设计教学改革探索
线上众筹产品的特征分析与研究