java中if(i=j)语句

int i=2,j=2;

if(i=j)

.....

在C/C++中,这个是可以编译通过、并且可以运行的。

而在java中,这个在编译期就会报错。

本人觉得原因可能是这样:这个相当于将2赋值给i,然后if语句变成if(2),而在java中if语句中只有true,false两种判断逻辑的值,因此,在编译时会报错。而在C/C++中逻辑值可以是true,false,也可以是0,或非0值,因此在C/C++中,这个是可以编译通过、并且可以运行的。


如果是这样的情况:

boolean b = true , c = false;

if(b=c)

.....

编译会通过的,因为,这就相当于将false赋值给b,if语句变成if(false),表示永远不会进入if语句中执行。

而如果if(c=b),这就相当于将true赋值给c,if语句变成if(true),表示一定会进入if语句中执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值