Java基础面试题(常见17题)

1.jdk和jre的区别?

jdk : 面向开发人员,包含jre
jre : java的运行环境
2.==和equals的区别?

== : 用于比较基本数据类型的值,引用数据类型的内存地址
equals : 用于比较引用数据类型的值
3.两个对象的hashcode()相同,那么equals一定为ture,对么?

不对,不同对象hashcode()可能也会相同
4.final在java中有什么作用?

final修饰类,属性,方法,表示不能被继承,不能被修改,不能被覆盖重写.
5.java中Math.round(-1.5)等于多少?

-1 四舍五入的原理是在参数上加上0.5然后进行向下取整.
6.String属于基础类型吗?

不属于,String属于引用类型,是一个被final修饰的类
java中基本数据类型一共八大类:
1.字符类型:byte,char
2.基本整型:short,int,long
3.浮点型:float,double
4.布尔类型:boolean
7.Java中操作字符串有哪些类?它们中有哪些区别?

String 每次使用都会生成一个新的对象
StringBuffer 弥补了String的问题,可以使用append,这样就不会产生新对象了,但线程不安全
StringBuilder 弥补了StringBuffer的线程不安全问题,但降低了效率
8.String str = “i” 和String str = new String(“i”)一样吗?

String str = “i” 是现在常量池中查看是否有该对象,如果有则地址指向该对象,如果没有则new一个
String str = new String(“i”)则是在堆中new 一个对象,然后地址指向栈
这两个的值一样,但是地址不一样
9.如何将字符串反转?

①使用StringBuffer中的reverse方法
public static String reverse(String s){
return new StringBuffer(s).reverse().toString
}
②把字符串分割成字符数组然后进行拼接
public static String reverse(String s){
char[] array = s.split("");
String news = “”;
for(char c:array){
news += c;
}
return news;
}
10.String 类常用方法有哪些?

length() 求字符串长度
charAt(int) 求字符串某个位置的字符
substring() 提取字符串的某段字符
equals 字符串值得比较
concat() 字符串的连接
indexOf() 字符串中单个字符的查找
replace 字符串替换
trim() 去掉两端的空格
11.抽象类必须要有抽象方法吗?

不一定,但如果一个类内有抽象方法,那么这个类必须声明成抽象类
12.普通类和抽象类有哪些区别?

1.抽象类不能被实例化
2.抽象类可以有构造方法,被继承时,子类必须有父类的一个构造方法,抽象方法不能被声明为静态
3.抽象方法只需申明,无需实现,抽象类中可以允许普通方法有主体
4.有抽象方法的类必须申明为抽象类
5.抽象的子类必须实现抽象类中的所有抽象方法,否则这个子类也是抽象类
13.抽象类能使用final修饰符吗?

final修饰符不能修饰抽象类和接口
14.接口和抽象类有什么区别?

1.接口和抽象类都不能被实例化
2.抽象类被子类继承,接口被子类实现
3.接口内只能对方法进行声明,抽象类内既能对方法进行申明,也能实现
4.接口和抽象类内的方法必须全部被子类实现,如果子类不能实现,则子类必须是抽象类
5.抽象类内可以没有抽象方法
6.如果一个类里面有抽象方法,那么这个类一定是抽象类
7.抽象类内的方法不能被static和private修饰符修饰
8.接口可以继承多个接口,但是类只能继承一个类
15.java中io流分几种?

①按流向分:
输入流
输出流
②按类型分
字节流 (InputStream/OutputStream) 一切文件都可以使用字节流
字符流 (Reader/Writer) 非纯文本文件类型无法使用字符流
16.BIO,AIO,NIO有什么区别?

BIO 同步阻塞
AIO 异步非阻塞
NIO 同步非阻塞
17. Files的常用方法都有哪些?

createNewFile() 创建一个空文件夹,成功返回ture,如果已存在就不创建,返回false
delete()删除空的文件夹或者是文件
exists()判断文件夹是否存在
getName()获取文件夹name
getAbsolutePath()获取文件夹绝对路径

这是本人整理的一些java基础面试题,希望大家多多交流,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值