30
2020
04

System.out.println(1.0 / 0); 的结果是什么?

Infinity解释:在整型运算中,除数是不能为0的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念。可以看一下源码Double的定义, public static final double POSITIVE_INFINITY = 1.0 / 0.0;
30
2020
04

double c = 0.8; double d = 0.7; double e = 0.6; 那么c-d与d-e是否相等?

false解释:类似十进制里面的分数1/3,就是无限循环数,无法精确表示出来,同理浮点数里有些数值也没法精确表示出来。System.out.println(0.8-0.7);//输出0.10000000000000009System.out.println(0.7-0.6);//输出0.09999999999999998
30
2020
04

float a = 0.125f; double b = 0.125d; System.out.println((a - b) == 0.0); 代码的输出结果是什么?

true解释:首先浮点数是由符号位、指数位、有效数字三个部分组成,而0.125f、0.125d均可以精确的表示出来,不存在精度丢失,因而a-b==0.0。
31
2020
03

final, finally, finalize的区别。

 final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。内部类要访问局部变量,局部变量必须定义成final类型。        finally是异常处理语句结构的一部分,表示总是执行。        finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。但是JVM不保证此方法总被调用
31
2020
03

try {}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?

 我们知道finally{}中的语句是一定会执行的,那么这个可能正常脱口而出就是return之前,return之后可能就出了这个方法了,鬼知道跑哪里去了,但更准确的应该是在return中间执行,请看下面程序代码的运行结果:public classTest {    public static void main(String[]args) {       System.out.println(newTest().test())
31
2020
03

下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d";

对于如下代码:String s1 = "a";String s2 = s1 + "b";String s3 = "a" + "b";System.out.println(s2 == "ab");System.out.println(s3 == "ab");第一条语句打印的结果为false,第二条语句打印的结果为true,这说明javac编译可以对字符串常量直接相加的表达式进行优
31
2020
03

String和StringBuffer的区别

JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串可以进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
31
2020
03

String s = new String("xyz");创建了几个StringObject?是否可以继承String类?

 两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。NewString每写一遍,就创建一个新的对象,它使用常量”xyz”对象的内容来创建出一个新String对象。如果以前就用过’xyz’,那么这里就不会创建”xyz”了,直接从缓冲区拿,这时创建了一个StringObject;但如果以前没有用过"xyz",那么此时就会创建一个对象并放入缓冲区,这种情况它创建两个对象。至于String类是否继承
31
2020
03

你所知道的集合类都有哪些?主要方法?

最常用的集合类是 List 和 Map。 List的具体实现包括 ArrayList和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。 List适用于按数值索引访问元素的情形。        Map 提供了一个更通用的元素存储方法。 Map集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。        它们都有增删改查的
31
2020
03

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

Set里的元素是不能重复的,元素重复与否是使用equals()方法进行判断的。        ==和equal区别也是考烂了的题,这里说一下:        ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。        equals方法是用于比较两个独立对象的内