1.说说&和&&的区别
表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式
&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
2.Java中存在i+1<i的数吗
在JDK中,整形类型是有范围的,最大值为Integer.MAX_VALUE,即2147483647,最小值为Integer.MIN_VALUE即-2147483648。 对整形最大值加1,2147483648(越界了),那么此时值为-2147483648,即是Integer.MIN_VALUE。类似的,对Integer.MIN_VALUE取反或者取绝对值仍为Integer.MIN_VALUE,因为值为-2147483648,绝对值2147483648超过Integer.MAX_VALUE 2147483647。
所以Integer.MAX_VALUE + 1=Integer.MIN_VALUE 。Long,short,byte的结论是相同的
3.0.6332的数据类型是(double)
4.System.out.println(“5” + 2); 的输出结果应该是
52 任何和字符串进行+运算的结果都相当于字符串的连接。
5.flout f =3.4;是否正确
不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 或float f = 3.4f
在java中,没小数点的默认 int,有小数点的默认 double;