JAVA与C语言有什么联系?

JAVA与C语言有什么联系?

Java语言由语法规则和类库两部分组成,其中语法规则确定了Java程序的书写规范,学习好语法规则是Java语言,也是所有编程语言的基本功。本文主要向大家简单介绍一下Java的语法规则。 Java语言与C/C++语言有着紧密的联系,Java中的许多术语来自于C++,起语法也来自于C++。因此Java的语法和c++的语法计划一模一样。下面简单介绍一下Java的具体语法。

一、Java的词法
1、标识符
标识符是类、变量和方法等的名字,作用是让编译器能够识别它们。在Java语言中,标识符可以包含数字、字母、下划线(_)和美圆符号($),但是不能以数字作为开头。与C/C++语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是因为Java语言使用的是Unicode字符,所有的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。

我们在使用标识符的时候应该尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用下划线,我们应该充分利用这一点以提高程序的可读性。

2、注释

Java有三种形式的注释:

第一种是C语言的传统注释方式,即将“/*”和“*/”之间的文本都视为注释,这种注释可以跨越多行。

第二种是C++风格的注释,即将“//”之后直到行尾的文本都视为注释,这种注释只能包含一行。

第三种是Java新增加的注释方式,即将“/**”和“*/”之间的文本都视为注释,这种注释也可以夸耀多行。注意,这种注释方式生成的注释将作为Javadoc文档保存。

Java与C/C++的比较
由于Java的语法直接来源于C/C++,所以Java的程序控制语句与C/C++一模一样,在此不再多说。以下重点介绍一下Java与C/C++的不同。
指针

大家在使用C语言编程的时候想必都曾经因为指针的复杂计算而烦恼,在C/C++语言编程过程中,指针可能引起许多错误,这些复杂的指针算法所产生的错误常常让人迷惑不解,导致C/C++程序员在此浪费了大量的时间。考虑到这种原因,Java中取消了指针。指针的功能由参考(reference)所取代,这使得Java中对复杂数据结构的实现更加容易,因为用对象和对象数组实现复杂的数据结构更可靠。

函数

在Java中没有C/C++中应用广泛的函数,C/C++中通过函数实现的功能在Java中都是通过类和方法来实现的。

继承

C++支持多重继承,这是一个从多个父类中派生一个类的有效办法,但这种派生很复杂,也很容易产生问题。因此,Java中没有采用多重继承,但Java的Objective C协议接口能完成C++中多重继承的所有功能。

goto语句

大家知道,在使用高级语言编程时过多的使用goto语句会使程序变得十分混乱,因此Java中也没有使用goto语句。但是不可否认,当程序比较容易控制的时候,适当使用goto语句能使程序的运行更快捷,因此Java中使用了多重break和continue语句(允许break和continue语句使用标签)实现C++种goto语句的功能。

联合和结构

在C++中有三种数据结构:联合、结构和类;Java中只有类,它可以实现上述三者的功能。

字符串

在C/C++中,字符串是通过字符数组实现的,但是由于数组的空间不是动态分配的,这容易出现越界错误,例如:常有预先设定的字符数组不能容纳后输入的字符串。在Java中,字符串是一类特定的对象,这使得字符串更具有一致性和可预见性。

Typedef、Define和预处理器

Java中不需要#define语句、预处理器或者typedef,但需要头文件。在Java中一个类的信息必须包含在一个文件中,而C/C++中有关类的信息可能分散在多个文件中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-21
楼上回答都恨详细了,我来说下JAVA的发展历史。
1990年12月,Sun启动了一个名为Stealth的项目,在James Gosing加入后,此项目更名为Green,其目的是使用C++为嵌入式设备开发一种新的基础平台技术。后来此小组觉得C++并不适合这种平台,于是决定开发一种新的编程语言,并称之为Oak(橡树),这是因为小组希望这种语言能像橡树一样生根发芽,茁壮成长。
1992年9月,Oak语言连同GreenOS和一些小应用程序发布在Start7的小设备上,这是Java语言第一次精彩的亮相。
1994年,发现Oak已经被别的公司注册成商标后Oak,组员们喝着爪哇生产的卡法讨论新的名字,有人突发奇想提名新名字为Java,这个外来词得到了大家的一致赞同,于是Oak成了大名鼎鼎的Java。
1996年,Sun正式对外公布了Java,并发布JDK1.0.
这种外形酷似C++,却包含一颗SmallTalk般完全面向对象之心的全新程序设计语言及其平台,几乎在一夜之间就成为软件行业的宠儿。Java当时仅仅被用来为网站制作一些动态应用,诸如动画图片之类,但这仍然引起了许多Web开发者的注意。Sun最终把Java集成到NetScape浏览器。同时它具有“只写一次,到处运行”的特性而引起了许多开发者的注意,他们可以不再为了程序能够在不同型号的硬件上运行而消耗大量的时间来编译代码了。
第2个回答  2020-02-26
JAVA应该是从C上面发展起来的,C是基础
第3个回答  2020-05-04
没什么大的联系,java是面向对象的编程语言,而C语言是面向过程的编程语言!
第4个回答  2009-08-21
C是底层的语言 如编写操作系统 或者编写操作系统级的程序(windows linux都是用C写的),它属于低级语言
JAVA高级语言 本身是用C/C++编写出来的一门语言 是一门高级语言
学会了C以后 在学习JAVA 就很简单了

参考资料:

相似回答