基础面试题
- int 和 Integer 有什么区别?
- int是java中的原始数据类型,Integer 是java中原始数据类型的封装类
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
- &和&&的区别?
- &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
- "a"的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
- Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?
- Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。
- equal与==的区别?
- ==用在比较java中的基本数据类型
- equal用于b比较java中的包装数据类型
- 包装类型的作用?
- 便于函数传值
- 在一些地方要用到Object的时候方便将基本数据类型装换
- 实现基本类型之间的转换
- static都有哪些用法?
- final有哪些用法?
- 被final修饰的类不可以被继承
- 被final修饰的方法不可以被重写
- 被final修饰的变量不可以被改变
- 面向对象的三个特征?
- 封装,继承,多态。
- 多态的好处?
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
- String,StringBuffer和StringBuilder的区别
- StringBuffer,Stringbuilder在做字符串拼接修改删除替换时,效率比string更高。StringBuffer,Stringbuilder可以直接使用add,delete等方法,长度可变。
- StringBuffer线程安全,单效率低,推荐在多线程中使用。StringBuilder线程不安全,但效率高。
- 数组和集合的区别
- 数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
- 数组的存放的类型只能是一种,集合可以存放多种类型。
- 数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。