目录
3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
5.java 中的 Math.round(-1.5) 等于多少?
8.String str="i"与 String str=new String(“i”)一样吗?
15.说明一下public static void main(String args[])这段声明里每个关键字的作用
1.JDK 和 JRE 有什么区别?
JRE( Java Runtime Environment)顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用Java编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。
JDK(Java Development Kit)是程序员使用Java语言编写java程序所需的开发工具包,是提供给程序员使用的。JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
2.== 和 equals 的区别是什么?
(1)对于==,比较值是否相等.
如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等。
如果作用于引用类型的变量,则比较的是所指向的对象的地址。
(2)对于equals方法,注意:equals方法不能作用于基本数据类型的变量,equals继承Object类,比较的是是否是同一个对象
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址。
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
3.两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:
(1)如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同。
(2)如果两个对象的hashCode相同,它们并不一定相同。
4.final 在 java 中有什么作用?
(1)修饰类:表示该类不能被继承。
(2)修饰方法:表示方法不能被重写。
(3)修饰变量:表示变量只能一次赋值以后值不能被修改(常量)。
5.java 中的 Math.round(-1.5) 等于多少?
Math.round(-1.5)的返回值是-1.四舍五入的原理是在参数上加0.5然后进行下取整。
6.String 属于基础的数据类型吗?
不是。Java中的基本数据类型只有8个:byte、s