C和C++使用逗号运算符,Java不使用。不过,可以再for语句中使用逗号分隔表达示列表。
使用逗号运算符是为了把几个表达式串在一起,整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值,从本质上来讲,都好的作用是导致一系列运算被顺序执行。
最游标表达式的值将作为整个逗号表达式的值,其余表达式作废,例如:
var = (count=19, incr=10, count+1);
在这里,首先把 count 赋值为 19,把 incr 赋值为 10,然后把 count 加 1,最后,把最右边表达式 count+1 的计算结果 20 赋给 var。上面表达式中的括号是必需的,因为逗号运算符的优先级低于赋值操作符。
尝试运行下面的实例,理解逗号运算符的用法。
实例1
#include<iostream>
using namespace std;
int main()
{
int i,j;
j=10;
i=(j++,j+100,999+j);
cout<<i<<endl;
return 0;
}
输出结果为1010
上面的程序中,j 最初的值为 10,然后自增到 11,接着再加上 100(表达式仅为j+100,并没有将值赋给j,此事j值不变),最后 j 再加上 999,得出结果 1010。
实例2
#include<iostream>
using namespace std;
int main()
{
int i,j;
j=10;
i=(j++,j+=100,999+j);
cout<<i<<endl;
return 0;
}
输出结果为1110
下面的程序中,j 最初的值为 10,然后自增到 11,接着再加上 100 并将结果赋值给 j,最后 j 再加上 999,得出结果 1110。