聊一聊Java和C++有什么异同。

废话不多说,直接开搞。

1)Java是解释性语言,java源文件经过Java编译器编译(前编译)之后变成字节码文件,再由JVM编译(后编译)、解释、运行。C++是编译型语言,C++源代码通过编译和链接直接生成可由操作系统运行的二进制文件。因此,Java因为运行在JVM上而不是直接运行在操作系统之上,运行效率会比C++慢,但是Java编写的程序也因此拥有了平台无关性。
2)Java是纯面向对象的语言,所有的代码都是在类中实现,而且除了基本数据类型以外,其他的数据类型都是引用数据类型。C++是面向对象,同时兼有面向过程的语言,因此可以向C语言一样,定义全局变量和全局函数(在类之外)。
3)Java中没有指针的概念(而C++中有),去除指针这一概念,是为了防止指针操作不当而引起的系统问题,让程序变得更加安全。
4)Java中没有预处理,C++中有预处理,但是Java中引入了import机制来达到预处理类似的效果。
5)Java中没有goto语句(但是保留了goto这个关键字),C++中有goto语句。
6)Java不支持自动强制类型转换,必须由开发人员显示地进行类型强转;C++支持自动强制类型转换,这会导致程序的不安全。
7)Java具有平台无关性(也可以称为移植性),每种数据类型都分配固定的长度;C++在不同的操作系统上,其数据类型会分配不同的长度。
8)Java不支持运算符重载,C++支持。
9)Java不需要开发人员管理内存(内存的申请和释放),因为Java具有垃圾回收器,能实时监控和管理内存;C++需要开发人员去干涉内存。
10)Java提供的类库大多数是标准库,用来完成特定的任务,简化开发,比如JDBC库,Servlet库等;C++则是一些field标准的、由其他产商提供的库。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值