一、&与&&的区别:
&有两种用法:1、按位与;2、逻辑与。
**&&运算符是短路与运算(短路原则、一假必假)。**逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。 &&之所以称为短路运算是因为,如果&&左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&。
使用区别:
&&两边必须为boolean值;
&的使用规则:1、&进行逻辑判断时,运算对象必须全部为boolean值;没有短路原则。
2、当&的运算对象全部为整型时,它是位运算符,不再构成逻辑运算。&运算时,只有对应的两个二进制位是1,结果才是1,否则都是0.
浮点数默认double类,float x= 5.13会报错。double是8个字节双精度,float是4个字节,大转小要强制转换,可能会导致精度丢失;需要改为float x = 5.13f 声明是float类型。