郑州华软IT培训机构

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>郑州Java编程培训学校哪家好

郑州Java编程培训学校哪家好

Java和C/C++有什么联系

其实较早,C++相对于C语言的基础上就添加了面向对象和模块的思想,这也可以理解成C++中两个加号的来历。

然而,C++在面向对象上做的并不是太好,比如说C++支持多继承,多继承会引发不确定性。C++同时支持指针,指针直接对内存底层操作,虽然效率高,危险系数却非常高,比如,一个简单的病毒程序就可以靠指针完成:你通过一个程序的中给指针随机赋值,能够获取到访问不属于本程序执行空间的其他空间的权限,那么这也就是一个计算机病毒。

当然,真正的病毒不可能那么简单,但这是基本特性,所以Java在C++的基础上移除了指针,增加了引用,提高了安全性。

Java是由C++发展而来的,保留了C++的大部分内容,其编程方式类似于C++。但Java的句法更清晰、规模更小、更易学。Sun公司曾对多种程序设计语言进行分析研究,取其精华去其糟粕,较终推出了Java。Java从根本上解决了C++的固有缺陷,形成了新一代面向对象的程序设计语言。


Java和C/C++的相似之处多于不同之处,有C基础的读者,学习Java会更容易。相较而言,Java的编程环境更为简单。

在C++中,假如你写同样一个程序,在Java里面会报错,而在C++语言里面是不会报错的。为什么?因为C/C++语言设计的思想是:你想怎么写程序就怎么写,只要你的这种写法错得不是很离谱,就认为你这么写有特殊的含义,可以通过。但Java不行:只要你这么写有歧义,或者说这样写不太好,那么它都会报错。

比如C++中你可以将一个浮点型数据赋给一个整型变量,编译时只会警告,因为会丢失精度,但是在Java中这样写就会报错,它在语法上就禁止你这样写。这就是不同的语言对同样一个问题有不同的理解和处理方式。

由于C++中大大小小的问题会导致不安全性,所以就在C++的基础上,取其精华,去其糟粕,便形成了早期的Java语言。直到现在,Java又多了很多新的特性,比如说集合,反射,泛型,Lambda表达式等等。所以,正因为C->C++->Java的发展历史,所以导致了Java在一定程度上继承了多数C语言的语法,但又有一定的改变。

以下是我们整理的Java和C/C++的10条不同之处:

C++支持指针,而Java没有指针的概念。

C++支持多继承,而Java不支持多重继承,但允许一个类实现多个接口。

Java是完全面向对象的语言,并且还取消了C/C++中的结构和联合,使编译程序更加简洁

Java自动进行无用内存回收操作,不再需要程序员进行手动删除,而C++中必须由程序释放内存资源,这就增加了程序员的负担。

Java不支持操作符重载,操作符重载则被认为是C++的突出特征。

Java允许预处理,但不支持预处理器功能,所以为了实现预处理,它提供了引入语句(import),但它与C++预处理器的功能类似。

Java不支持缺省参数函数,而C++支持。

C和C++不支持字符串变量,在C和C++程序中使用“Null”终止符代表字符串的结束。在Java中字符串是用类对象(String和StringBuffer)来实现的

goto语句是C和C++的“遗物”,Java不提供goto语句,虽然Java指定goto作为关键字,但不支持它的使用,这使程序更简洁易读。

Java不支持C++中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网