区别:
1.运算符性质不同。
&是一个位运算符。
&&是一个逻辑运算符。
2.作用不同。
&是将两个二进制的数逐位相与,结果是相与之后的结果。
&&就是判断两个表达式的真假性,只有两个表达式同时为真才为真,有一个为假则为假,具有短路性质。
3.用途限制。
&除了是一个位运算符,也是取地址符。
&&就是一个单纯的逻辑运算符,没有任何其他含义。
“||”“ &&”表示逻辑运算,“||”表示或者的意思,“&&” 表示并且的意思。
&&运算符需要两个表达式作为操作数,并创建一个表达式,只有当两个子表达式都为true时,该表达式才为true。
||运算符需要两个表达式作为操作数,并创建一个表达式,当任何一个子表达式为true时,该表达式为true。只要其中一个子表达式为true,则整体表达式为true,此时另外一个子表达式无论是false还是true都无关紧要。
运算符的优先级
优先级与求值顺序无关。如a+b && b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。
基本的优先级需要记住:
指针最优,单目运算优于双目运算,如正负号。先算术运算,后移位运算,最后位运算。请特别注意:逻辑运算最后结合。
本回答被网友采纳||是逻辑或,例子如下
//表达式1||表达式2&&是逻辑与,例子如下:
//表达式1&&表达式2