在java和python和c++中的 比较/null/指针/if/%/字符变数字/round/区别

本文对比了Python、Java和C++中的一些关键概念,包括变量的比较(is、is not、==、!=)、null的处理、指针的使用、条件语句的差异,以及%运算符、字符转数字和round函数的行为。在Python中,is检查内存地址,而==检查值;null在Python中是None,而在Java和C++中有不同的表示方式;Python中的if语句可以直接使用整数或对象,而Java和C++则有不同规定。此外,还讨论了三者在取余/取模、字符转数字和round函数上的区别。
摘要由CSDN通过智能技术生成

比较

python

is, is not 对比的是两个变量的内存地址
==,!= 对比的是两个变量的值
3 == 3 √
3 is 3 √
None is None √
None == None √
[1,2] ==[1,2] √
[1,2] is [1,2] ×

java

  基本数据类型:值分配在内存栈上
  引用数据类型:对象本身的值分配在内存堆上
  都是直接分配在内存栈上,不过引用数据类型在栈上分配的是引用,对象本身的存储在内存堆上
  1. 比较基本类型 : 没有.equals方法

只能用==

  1. 比较对象 object.equals(obj) 比较内存地址

==和equals比较的都是内存地址

  1. 比较基本数据类型封装类和String 对equals方法进行了重写,比较的是值

equals判断值是否相同 a.equals(b)
==判断是否为同一对象(根据内存地址),引用是否相同

null

python

if root: #root 存在
if not root # root不存在 为null

java

if (p!=null) //root存在
if (p==null) //root不存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值