“|”、“||”、“&”、“&&”都是逻辑运算符,它们都是用来表示逻辑关系的,但是它们之间有一些区别。
“|”和“||”的区别
“|”是按位或运算符,它的作用是将两个操作数进行按位或运算,如果操作数中有一个为真,则结果为真;而“||”是逻辑或运算符,它的作用是将两个操作数进行逻辑或运算,如果操作数中有一个为真,则结果为真,但是如果操作数都为假,则结果为假。
例如: int a = 5; int b = 6; // 按位或运算 int c = a | b; // c的值为7 // 逻辑或运算 int d = a || b; // d的值为1
“&”和“&&”的区别
“&”是按位与运算符,它的作用是将两个操作数进行按位与运算,如果操作数中有一个为假,则结果为假;而“&&”是逻辑与运算符,它的作用是将两个操作数进行逻辑与运算,如果操作数中有一个为假,则结果为假,但是如果操作数都为真,则结果为真。
例如: int a = 5; int b = 6; // 按位与运算 int c = a & b; // c的值为4 // 逻辑与运算 int d = a && b; // d的值为1
从上面的例子可以看出,“|”和“||”,“&”和“&&”之间的区别在于:“|”和“&”是按位运算符,只要操作数中有一个为真(或假),则结果就为真(或假);而“||”和“&&”是逻辑运算符,只有当操作数中都为真(或假)时,结果才为真(或假)。