面试题1:Java中八大基本数据类型有哪些?
数值型:整形(byte,short,int,long)、浮点型(float,double)
非数值型:布尔类型(boolean)、字符型(char)
面试题2:==和equals的区别?
1、 ==通常做数值的关系比较
equals通常做引用型数据类型的相等比较
2、 ==比较的是变量的地址是否同一个地址
equals比较的是变量的指向的值是否相同
面试题3:如何以最快的速度算出2的3次方
使用位移运算符:System.out.println(2<<2)
2的二进制数想左位移两位 0010 —>1000
面试题4: 6&7=6 6|7=7
110 110
&111 |111
=110 =111
面试题5:&与&&的区别
1、&表示逻辑且,无论第一个操作数是否为true,第二个操作数都执行
&&表示短路且,第一个操作数为false,后面的操作数不执行,结果返回false
2、&可以做逻辑运算也可以用作位运算,&&只能做逻辑运算
面试题6:堆和栈的区别
堆存放的是地址,由程序员自己分配
栈存放的是变量的值,由系统分配