&和&&在Java中都是逻辑运算符,它们的区别在于它们的短路行为不同。&是逻辑与运算符,它的两个操作数都会被求值,而&&是逻辑与短路运算符,它的第一个操作数如果为假,则不会求第二个操作数,而直接返回false。
在Java中,&和&&的主要区别是,&是一个普通的逻辑运算符,它会求出两个操作数的值,进行逻辑与运算,而&&是一个短路运算符,它会在第一个操作数的值为假的时候就会停止求值,而直接返回false。
举例来说,假设有一个boolean类型的变量flag,它的值为false,那么当使用&运算符的时候,就会求出flag的值,再求出一个操作数的值,将两个值进行逻辑与运算,结果自然也是false。而当使用&&运算符的时候,由于flag的值为false,所以它就会停止求值,直接返回false,而不会求一个操作数的值。
&和&&也有一些其他的区别,比如&运算符会把操作数的值转换为boolean类型,而&&不会;&运算符的优先级比&&低,所以在使用它们的时候,要注意括号的使用。
&和&&在Java中都是逻辑运算符,它们的主要区别在于它们的短路行为不同,&是普通的逻辑与运算符,它的两个操作数都会被求值,而&&是逻辑与短路运算符,它的第一个操作数如果为假,则不会求第二个操作数,而直接返回false。
本文链接:http://task.lmcjl.com/news/1475.html