朱年香20160726Java与c的区别.pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java与C++的区别 朱年香 Java和C++都是面向对象的语言。并且Java常被称作为C++-,也有人说Java是从C++中衍生出来的。那么,C++和Java有什么区别呢?我们是先学习C++,再学的Java。所以对于我们来说,搞清楚C++和Java的区别是很有必要的。下面请听我的详细讲解。 引言 在C++中指针是一种数据类型。而在Java中无指针。Java语言让编程者无法找到指针来直接访问内存,从而有效地防止了C++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说Java没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全。 1.指针 2.多重继承 C++支持多重继承,它允许多父类派生一个子类。也就是说,一个类允许继承多个父类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类实现多个接口(Interface)。Java既实现了C++多重继承的功能,又避免了C++多继承在实现和维护上的复杂性。 3.数据类型 C++分为基本类型,非基本类型和指针类型。基本类型分为整型、字符型、浮点型和布尔型。非基本类型有枚举、数组、结构体、共同体、类。且C++某些类型的数据字节数和数值范围由操作系统和编译平台决定。 Java除了基本类型之外,其余类型的数据都作为引用数据类型。Java中数据类型的字节数和数值范围则是固定的。此外,Java还取消了C++中的结构和联合,使编译程序更简洁。 4.自动内存管理 C++是用new在堆里申请内存空间(创建动态变量),用delete回收动态变量;动态对象的创建和释放与变量的动态创建和释放是一样的。在Java程序中所有的对象都是用new操作符建立在堆栈上的,这个操作符类似于C++的“new”操作符,Java自动进行无用内存回收操作,不需要程序员进行删除。当Java中的一个对象不再被用到时,无须使用内存回收器,只需要给它加上标签以示删除。无用内存的回收器在后台运行,利用空闲时间工作。而C++中必须由程序释放内存资源,增加了程序设计者的负担。 5. 操作符重载 Java不支持操作符重载。操作符重载被认为是C++的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能简单。 6.字符串 C++不支持字符串变量,常用字符数组来存放字符串。字符串结束标志为\0。而字符串的连接则需使用字符串连接函数strcat。在Java中字符串是用类对象(String和StringBuffer)来实现的,在整个系统中建立字符串和访问字符串元素的方法是一致的。Java字符串类是作为Java语言的一部分定义的,而不是作为外加的延伸部分。此外,Java还可以对字符串用“+”进行连接操作。 7.goto语句 goto是C/C++语言技术上的合法部分,在引用goto语句造成了程序结构的混乱,不易理解。goto语句一般用于无条件转移子程序和多结构分支技术。Java不提供goto语句,其虽然指定goto作为关键字,但不支持它的使用,这使程序更简洁易读。 8.类型转换 在C/C++中,有时会出现数据类型的隐含转换,这就涉及了自动类型转换问题。例如,在C++中可将一个浮点值赋予整型变量,并去掉其尾数。Java不支持C++中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。 9. 异常 Java中的异常机制用于捕获例外事件,增强系统容错能力 try{ //可能产生异常的代码 }catch(exceptionType name){ //处理 } 其中exceptionType表示异常类型。而C++则没有如此方便的机制。 10. 其它 1)在Java中,类定义采取几乎和C++一样的形式。但没有标志结束的分号。 2)Java中没有作用域范围运算符“::”。 3)对类型的检查和要求在Java里变得更苛刻。 例如: 条件表达式只能是boolean(布尔)类型,不可使用整数。 结束语 Java和C++各有各的优势,无需争论那种语言好,哪种语言不好,能够存在就一定有它的优势,只要你决定了要学编程就扎实的学好,编程语言都是相同的,学会一种,其他的学起来就很容易了。 谢谢观赏!

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档