码迷,mamicode.com
首页 > 编程语言 > 详细

java基础面试

时间:2020-04-10 19:43:13      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:link   的区别   关键字   出错   inf   时间复杂度   数据结构   byte   img   

 

1)a = a + b 与 a += b 的区别

    += 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两这个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作

                        技术图片

  (因为 a+b 操作会将 a、b 提升为 int 类型,所以将 int 类型赋值给 byte 就会编译出错)

 2)3*0.1 == 0.3 将会返回什么?true 还是 false? 

    false,因为有些浮点数不能完全精确的表示出来

3)“a==b”和”a.equals(b)”有什么区别?

    如果 a 和 b 都是对象:则 a==b 是比较两个对象的引用,只有当 a 和 b 指向的是堆中的同一个对象才会返回 true,

    如果 a 和 b 都是数值型: 比较的则是数值是否相等

       a.equals(b) :是进行逻辑比较(内容的比较),所以通常需要重写该方法来提供逻辑一致性的比较。例如,String 类重写 equals() 方法,所以可以用于两个不同对象,但是包含的字母相同的比较。

4)final、finalize 和 finally 的不同之处?

   final 是一个修饰符,可以修饰变量、方法和类

      如果 final 修饰变量,意味着该变量的值在始化后不能被改变

      如果final 饰类: 则该类不能被继承 意味着它不能再派生出新的子类

      被final修饰的方法:也同样只能使用,不能覆盖(重写)。  

  finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常。

    finalize() :这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的方法

 5)ArrayList 与 LinkedList 的不区别?

     ArrrayList 底层的数据结构是数组支持随机访问,ArrayList 的时间复杂度是 O(1)

    LinkedList 的底层数据结构书链表,不支持随机访问。使用下标访问一个元素, LinkedList 的时间复杂度是 O(n)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

待续。。。。

 

java基础面试

标签:link   的区别   关键字   出错   inf   时间复杂度   数据结构   byte   img   

原文地址:https://www.cnblogs.com/JonaLin/p/12675497.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!