java基础面试题目录
文章目录
- java基础面试题目录
- 前言
- String s=new String("xyz");创建了几个String Object【重要】
- 全面理解: String s2="xyz" 创建了几个对象
- 下面输出的是true还是false
- a.hashCode()有什么用,它与a.equals(b)有什么关系【重要】?
- HashMap到底是啥
- hashCodd还有其它作用吗?
- 打印九九乘法口诀表
- 求最大公约数和最小公倍数
前言
String s=new String(“xyz”);创建了几个String Object【重要】
这个问题是必须要回答上来的这个问题要是答不上来的话,会被认为基础很差
分析
String s=new String(“xyz”),这里有一个new
那肯定是new了一个对象
所以最终答案是 String s=new String(“xyz”);创建了几个String Object 生成了2个String Object ,一个是常量池中的,一个是堆空间的
全面理解: String s2=“xyz” 创建了几个对象
答案是没有创建对象,即创建了0个对象
没有创建只是引用,因为常量池中已经有了
预测以下代码的输出结果
我们理解了前面的原理之后就可以知道,== s5是创建了1个字符串对象 ==
所以我们回到最开始
可以是1个也可以是2个,就看前面常量池里面有没有这个字符串对象了
下面输出的是true还是false
先自己预测输出的值是什么?一定要理解
a.hashCode()有什么用,它与a.equals(b)有什么关系【重要】?
很多小白都不知道hashCode与equals的关系,但是我们在面试题中又会经常涉及到类似的题目
这样一问,多少人要问懵
我们总想逃避复杂的问题,但是这个问题千万不能逃避,
工作三五年之后,你会发现这个知识点非常重要,同时如果工作三五年还不会,会被鄙视
hash码也叫散列码
HashMap到底是啥
为什么String要重写hashCode,我们知道java里面任何一个类都是顶层都是继承自object的这里为什么要重写就是因为,如果你不重写,它就会默认走object的hashCode
hashCodd还有其它作用吗?
hashCodd还有其它作用吗,这里跟hashMap就关系很大了,我们知道
equals返回true,则他们的hashCode一定相同
但是在String里面又重写了 equals,所以才变成今天我们使用的这样:判断内容是否相等用equals,就是因为String重写了equals
String里面不仅重写了hashCode方法,还重写了equals方法
注意
打印九九乘法口诀表
求最大公约数和最小公倍数
这个问题,首先要知道数学里面是怎么算的,才能用java去解决
此题考核的是java的逻辑基础
这是很基础的题目,如果这道题做不出基本上就凉了,所以一定要把这些基础搞明白