仅仅总结一下最近几天学到的面试题,以后还会继续总结.
一:&操作符和&&操作符有什么区别?
答案:当一个&表达式在求值的时候,两个操作数都会被求值,&&更像是一个操作符的快捷方式。当一个&&表达式求值的时候,先计算第一个操作数,如果它返回true才会计算第二个操作数。如果第一个操作数取值为fale,第二个操作数就不会被求值。
二:public static void写成static public void会怎样?
答案:程序正常编译及运行。
三.如果原地交换两个变量的值?
答案:先把两个值相加赋值给第一个变量,然后用得到的结果减去第二个变量,赋值给第二个变量。再用第一个变量减去第二个变量,同时赋值给第一个变量。代码如下:
int a=5,b=10; a=a+b;
b=a-b;
a=a-b;
使用异或操作也可以交换。第一个方法还可能会引起溢出。异或的方法如下: int a = 5; int b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;