【系列说明】java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来、或者教给想快速学习java的童鞋如何应用实践。有意见可以直接留言~

开个博客园脚踏实地一点一点review~

学了好多语言:C、C++、C#、java、python

不同语言的存在都有它存在的意义,所以学习一门语言一定要了解它和其他语言的区别在哪,这里C++源于C,所以C不列出来比较,C#下段时间复习补上,python学的不好先不比较

重点比较下java和C++这两门用的比较多的语言的区别:

1.从发展上来看:

C++源于C语言,改进了C不足的同时保持了C的简洁性和高效性。但两者的区别在于:C面向过程,重点在于算法和数据结构,考虑的是如何通过过程运算得到输出结果;C++则面向对象,首先考虑如何构造一个对象模型来拟合问题。

java源于Oak语言,是完全面向对象语言,它吸收了C++的优点同时又剔除了C++难以理解的多继承、指针等概念。

2.从特性上来看:

(1)java无指针,可靠性高。C++的功能强大,但指针操作失误容易引起系统崩溃,易出bug。相比而言,java无指针操作,更加安全。

(2)java有自动地内存管理。java可在建立实例后自动进行无用内存回收操作,不需要程序员进行删除。而c++中必须由程序释放内存资源, 增加了程序设计者的负担。

(3)java用接口取代多重继承。C++可以多个父类派生一个子类,但十分复杂麻烦。java允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。

(4)java不支持操作符重载。

(5)java不支持预处理功能。但import功能与之类似。

(6)java没有goto语句。

总的而言,java把很多C++中繁琐而有可能出错或者引起歧义的功能点进行了删改,保证了语言的尽可能简洁,所以相比而言更喜欢用java一些啦。

最新文章

  1. Cesium原理篇:7最长的一帧之Entity(上)
  2. 洛谷P1373 小a和uim之大逃离[背包DP]
  3. ubuntu server 12.04U盘安装,提示无法挂载安装光盘或光盘读取数据出错
  4. Ubuntu 12.04 改造指南
  5. Maven重复类的解决
  6. eBay Notification介绍
  7. Jquery中的filter()详细说明和transition的用法
  8. Java float保留两位小数或多位小数
  9. poj代码搬家啦啦啦
  10. 在Windows7防火墙允许指定的端口
  11. JavaEE XML DOM创建之DOM4J
  12. 16.按要求编写Java应用程序。 编写一个名为Test的主类,类中只有一个主方法; 在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着{1, 3,5,…,99}输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一 个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
  13. jquery 跨域请求数据问题
  14. Objc中触摸处理阻塞时消息派送的问题
  15. 马昕璐 201771010118《面向对象程序设计(java)》第十八周学习总结
  16. 用javaweb连接数据库用javabean、severlet实现增删改查
  17. Python 进程间数据交互
  18. Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法
  19. Oracle DB 使用子查询来解决查询
  20. Structs复习 Result第一部分

热门文章

  1. LeetCode 2. Add Two Numbers 解题报告
  2. Nginx+IIS+Redis 处理Session共享问题 1
  3. Digital Tutors - Introduction to Scripting Shaders in Unity 学习笔记
  4. 购买的wemall 6.0商城系统源码分享
  5. Jmeter函数引用和函数重定向
  6. zip error: Invalid command arguments
  7. Java日期获取需求大全
  8. iOS多线程——同步异步串行并行
  9. Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)
  10. RabbitMQ-从基础到实战(5)— 消息的交换(下)