Java教程

Java面试题

本文主要是介绍Java面试题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1. jdk和jre的区别

jdk是Java开发工具包,包含jre,在jdk的安装目录下,有jre文件夹,jre文件夹下有bin和lib目录,bin装JVM,lib装jvm所需的类库,jdk是Java的核心;
jre是运行时环境,而不是开发环境,所的不包含任何开发工具,如编译器、调试器等,只是针对于使用Java程片的用户;

2. ==和equals()的区别

(1)定义不同:==是一个运算符号,equals()是一个方法;
(2)功能不同:前者判断两个变量指向的内存空间是否相同,后者判断两个变量或实例指向的内存空间的值是否相同。

3. 两个对象的hashCode()相同,equals()一定为true,对吗

不对。
(1)HashCode()返回的值是一个对象在hash表中的位置,这个位置是依据特定的hash算法得到的,所以,两个不同的对象有可能有相同的hash code;
(2)hashcode()和equals()常被组合用于排序,在大型排序中,常会重写hashcode()和equals()方法,让具有相同hashcode的对象执行equals()方法,以提高排序的效率;
(3)相同的hash code,equals()返回的值不一定是true;equals返回值相同的,hash code一定相同。

4. final在Java中的作用

final用于修饰类、方法和变量。
(1)修饰类:表明这个类不能被继承,该类中的所有方法和变量都被隐式的指定为final,当这个类以后不再被使用时修饰(出于安全考虑);
(2)修饰方法:可以将方法锁定,以防止子类对方法进行修改,此时子类无法直接调用该方法,也无法重写覆盖;
(3)修饰变量:表示该变量只能被赋值一次,之后不再修改,变成一个常量,初始化一次不再改变或定义时赋值不再改变。

5. Java中Math.round(-1)等于多少?

java.lang.Math类中,
(1)round:四舍五入,如round(-1.5) = -1;
(2)ceil:返回两个整数中的较大值,如ceil(-1.5) = -1;
(3)floor:返回两个整数中的较小值,如floor(-1.5) = -2。

这篇关于Java面试题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!