Java 程序员经典面试题集大全 (二),最全 SpringBoot 学习教程
int y=x++;
System.out.println("x="+x+", y="+y);
//以上代码运行后输出结果为:x=6, y=5
++i : 先增 1 后运算。如:
int x=5;
int y=++x;
System.out.println("x="+x+", y="+y);
//以上代码运行后输出结果为:x=6, y=6
8、&和 &&的区别和联系,|和||的区别和联系
&和 &&的联系(共同点):
&和 &&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。
操作数 1&操作数 2,操作数 1&&操作数 2,
表达式 1&表达式 2,表达式 1&&表达式 2,
情况 1:当上述的操作数是 boolean 类型变量时,&和 &&都可以用作逻辑与运算符。
情况 2:当上述的表达式结果是 boolean 类型变量时,&和 &&都可以用作逻辑与运算符。
表示逻辑与(and),当运算符两边的表达式的结果或操作数都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,结果都为 false。
&和 &&的区别(不同点):
(1)、&逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符,也可叫逻辑与运算符。
对于 &:无论任何情况,&两边的操作数或表达式都会参与计算。
对于 &&:当 &&左边的操作数为 false 或左边表达式结果为 false 时,&&右边的操作数或表达式将不参与计算,此时最终结果都为 false。
综上所述,如果逻辑与运算的第一个操作数是 false 或第一个表达式的结果为 false 时,对于第二个操作数或表达式是否进行运算,对最终的结果没有影响,结果肯定是 false。推介平时多使用 &&,因为它效率更高些。
、&还可以用作位运算符。当 &两边操作数或两边表达式的结果不是 boolean 类型时,&用于按位与运算符的操作。
|和||的区别和联系 与 &和 &&的区别和联系类似
9、用最有效率的方法算出 2 乘以 8 等于多少
使用位运算来实现效率最高。位运算符是对操作数以二进制比特位为单位进行操作和运算,操作数和结果都是整型数。对于位运算符“<<”, 是将一个数左移 n 位,就相当于乘以了 2 的 n 次方,那么,一个数乘以 8 只要将其左移 3 位即可,位运算 cpu 直接支持的,效率最高。所以,2 乘以 8 等于几的最有效率的方法是 2 << 3
10、基本数据类型的类型转换规则
基本类型转换分为自动转换和强制转换。
**自动转换规则:**容量小的数据类型可以自动转换成容量大的数据类型,也可以说低级自动向高级转换。这儿的容量指的不是字节数,而是指类型表述的范围。
**强制转换规则:**高级变为低级需要强制转换。
如何转换:
评论