Java面试题———基础篇

目录

1、JDK和JRE的区别是什么

2、&和&&的区别是什么

3、final finally finalize区别是什么

4、下面几个字符串类的区别是什么

5、使用=和new创建字符串的区别是什么

6、float f=3.4 是否正确

7、重写和重载的区别是什么

8、this和super的应用场景是什么

9、throw和throws的区别是什么

10、应该使用什么数据类型来计算价格

11、== 与 equals 的区别

12、接口和抽象类的区别

13、说出几个常见的异常

14、Java 反射有了解吗

15、浅拷贝和深拷贝区别


1、JDK和JRE的区别是什么

JDK是Java开发工具包,JRE是Java运行时环境,二者的区别在于

JRE是Java程序运行所必须的,它包含jvm和一些Java的基础类库

JDK是Java程序开发所必须的,它包含JRE和一些开发工具

总结一下就是:JDK包含JRE,如果仅仅是运行Java程序,只要有JRE即可;如果是要开发Java程序,则必须要有JDK

2、&和&&的区别是什么

&和&&都是逻辑运算符,都可以实现取并的效果,即符号两边的表达式都为true,结果才是true

不一样的是&&有短路的功能,即当符号前面的表达式为false时,后面的表达式将不再执行,而&没有这个功能

另外,&还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作

3、final finally finalize区别是什么

这是Java提供的三个关键字,虽然长的差不多,但是其实没什么联系,使用场景也完全不同

final可以修饰类、变量、方法,修饰类表示该类不能被继承、修饰方法表示该方法不能被重写、 修饰变量表示该变量是一个常量不能被重新赋值。

finally一般作用在try-catch代码块中,在处理异常的时候,无论程序是否出现异常,写在finally中的代码都会被执行,一般用来释放一些资源

finalize是Object类的一个方法,它会在一个对象被垃圾回收的时候自动被垃圾回收器来调用

4、下面几个字符串类的区别是什么

String、StringBuffer、 StringBuilder 、StringJoiner的区别

这几个都是关于字符串的类,他们的区别点有下面几个

  1. 可变性:String是不可变对象,其它的都是可变对象

  2. 线程安全:String和StringBuffer是线程安全的,StringBuilder和StringJoiner是线程不安全的

  3. 效率:StringBuilder和StringJoiner效率最高,StringBuffer居中,String效率最低

  4. 使用场景:少量字符串的操作使用String,大量字符串的频繁操作在多线程下使用StringBuffer,单线程下可以使用StringBuilder、StringJoiner

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啵啵薯条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值