一、JDK和JRE有什么区别?
答:JRE(Java Runtime Environment)是Java运行时环境,它是运行编译后的Java程序所必需的一切包,包括Java虚拟机 (JVM)、Java基础类库、Java命令和其它基础设施。但是它不能用于创建新程序。
JDK(Java Development Kit)是Java开发工具包,功能齐全的SDK for Java。它拥有JRE所拥有的一切,还包含了编译Java源码的编译器javac,还包含了很多Java程序调试和分析的工具:jconsole、jvisualvm等工具软件,还包含了Java程序编写所需的文档和demo例子程序。它能够创建和编译程序,是提供给程序员使用的。
二、==和equals的区别是什么?
答:首先是功能不同,“==”是判断两个变量或实例是不是指向同一个内存空间的值。“equals”是判断两个变量或实例所指向的内存空间的值是不是相同的。其次是定义不同,“equals”在Java中是个方法。“==”在Java中只是个运算符号。
三、两个对象的hashCode()相同,则equals()也一定为true对吗?
答:不一定,两个对象equals()相同,则它们的hashCode()必须相同,反之不一定。
四、final在Java中有什么作用?
答:final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式的指定为final方法。
五、Java中的Math.round(-1.5)等于多少?
答:Math的round方法是四舍五入,如果参数是负数,则往大的数。如:Math.round(-1.5)=-1,但是Math.round(1.5)=2。
六、String属于基础的数据类型吗?
答:String类并不是基本数据类型,而是一个类(class),用来表示Java语言中字符串类型。