首页 > 技术文章 > 面试题

yangwenxiang 2019-01-03 19:58 原文

面试题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:堆和栈的区别

  堆存放的是地址,由程序员自己分配

  栈存放的是变量的值,由系统分配

 

    

推荐阅读