Java和C++中的逗号操作符

本文探讨了Java和C++中逗号操作符及三元操作符的使用差异。在C++中,逗号操作符能用于顺序执行多个表达式,并返回最后一个表达式的值;而Java中的逗号操作符用途受限。此外,C++中的三元操作符无需左值即可使用,而Java则必须有左值接收其返回值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java和C++中都有逗号操作符,但是他们的用法差异很大。

Java中的逗号操作符只允许出现在函数的参数列表或者for循环的控制语句中或者定义多个变量,其他地方都不能使用。

而C++中的逗号操作符的定义是顺序执行逗号操作符分隔的各个语句,返回值为最后一条语句的返回值,使用范围不限。

这样我们可以在C++中这样使用逗号操作符:

int a = (1,2); == 2
int b = a++,a++,a++;

return a++,b;

pow((1,2),3) == pow(2,3);

而这些在Java中都是不被允许的。

另外,关于三元操作符 ?:

在C++中可以不需要左值,完全等价于ifelse,也就是 condition? exp1 : exp2 会根据条件执行exp1或exp2

但是在Java中,必须有左值来接受三元操作符的返回值,这就使得exp1或exp2有兼容的返回类型,而不能是一个void的函数语句。

直接点,在java中 1; 是一个非法语句,而在C++中是合法的。而 ;  在java中是合法的,而在C++中同样合法。、

 

转自:http://hi.baidu.com/sxch/blog/item/7271c20398b44af908fa9396.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值