失效链接处理 |
Java基础面试题200 PDF 下载
本站整理下载:
相关截图:
主要内容:
一、Java基础
1、JDK和JRE有什么区别?
答:JDK是Java开发工具包,其中包含有JRE。
JRE是Java运行环境,如果只运行Java程序的话,只安装JRE就可以
2、==和equals的区别是什么?
答:对于基本数据类型来说==比较的是两者的值是否相同
对于引用数据类型来书==比较的两者的引用是否相同
equals的功效大致与==相同equals默认情况下是引用比较,只是有一部分引用数据类型,像String,Integer之类的重写了equals方法,所以这部分引用数据类型可以直接通过equals比较两者的值是否相同。
3、两个对象的hashCode()相同,则equals()也一定为true,对么?
答:不对,在散列表中,hashCode相同的对象,它们两个的值也未必相同。
hashCode()相等即两个键值对的哈希值相等,然而哈希值相等并不一定能得出键值对相等
4、Final在Java中有什么作用?
答:final修饰类,表示该类不能被继承。该类叫做最终类。
Final修饰方法,表明该方法不能被重写。
Final修饰变量,表示该变量是一个常量。常量必须初始化,且初始化后的值不能被改变。
5、Java中的Math.round(-1.5)等于多少,为什么?
答:等于-1,因为该方法是向上取整。因为在数轴上取值时是向右取整。
6、String属于基础数据类型么,请列出所有的基础数据类型?
答:String不是基础数据类型。技术数据类型有八种,一个字节的有一种为boolean(布尔类型),
两个字节的又两种为byte(字节型)、char(字符型)r,4个字节的有三种分别是int(整数型)、short(短整型)、float(单精度浮点型),8个字节的有两种分别为long(长整型)、double(双精度浮点型)
7、Java中操作字符串都有哪些类?它们之间有什么区别?
答:有String、StringBuilder、StringBuffer三种类型
其中String类型声明的是不可变对象,每次操作都会生成新的String对象,StringBuilder和SringBuffer类型都是可变字符串对象,可以在原有字符串对象的基础上进行操作。
StringBuilder的性能要优于StringBuffer,因为StringBuffer进行了同步化操作保证了线程安全。单线程的时候使用StringBuilder是一个好的选择,多线程的时候更加推荐StringBuffer。
8、String str=”i”与String str=new String(“i”)一样么?
答:不一样,内存分配方式不一样。前者存储在常量池中,后者存储在堆内存中
9、如何将字符串反转?
答:如果是String字符串,可以直接以有参构造函数创建一个新的stringbuilder或者stringbuffer对象,然后利用stringbuilder和stringbuffer对象中内置的reverse()方法进行反转操作。
10、String类的常用方法都有哪些?
答:indexOf() 查找单个字符所在的位置的索引
Length() 判断字符串的长度
ToLowerCase() 将字符串中的英文字母全部改为小写
ToUpperCase() 将字符串中的英文字母全部改为大写
Trim() 将字符串中前后的空格符号去除
Equals() 比较两个字符串的值是否相等
Split() 将字符串按照特定的符号拆分成字符串数组
charAt() 返回指定索引处的字符
replace() 字符串替换
getBytes() 返回字符串的byte类型数组
substring() 截取字符串
11、抽象类必须要有抽象方法么?
答:抽象类中不一定要有抽象方法
12、普通类和抽象类有哪些区别?
答:1.普通类可以实例化,抽象类不能实例化
2.抽象类中可以包含抽象方法而普通类不行
|