Android面试题之 java基础部分

1.八个基本数据类型和包装类 及其区别?

 基本:             byte   short   char      int      long  float  double  boolean  

包装类:           Byte   Short  Character  Integer  Long  Float  Double  Boolean 

大小/(byte):1          2        2               4          8          4         8           1

区别:基本数据类型放在栈里  编译前确定大小 速度快 功能弱    

          包装类放在堆里  运行时确定大小  速度慢  功能强 

原因:

Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入不是对象的基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从JDK 1.5开始引入了自动装箱/拆箱机制,使得二者可以相互转换

2.什么是装箱 ?什么是拆箱? 

装箱:基本数据类型转为包装类 

拆箱:包装类转为基本数据类型 

3.”==“与”equals()"的区别

主要区别在于前者是方法,后者是操作符

(1)比较java基本类型:

  比较基本类型只能用"==",不能用"equals",这里的"=="比较的是两个基本类型的值

(2) 比较String

==比较的是存放内存地址是否相同

   equals比较的存放的内容是否相同

4.String,StringBuffer与StringBuilder的区别??String 字符串常量
StringBuffer 字符串变量(线程安全)

StringBuilder 字符串变量(非线程安全

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的

对于三者使用的总结: 1.如果要操作少量的数据用 = String

           2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder

           3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

会一直根据自己的学习持续更新的


你可能感兴趣的:(Android面试题之 java基础部分)