Java核心技术及面试指南面试题,基本数据类型、封装类和运算操作的面试题

2.1.5.1说说&和&&的区别,以及|与||的区别。

    &和|是位运算符,不怎么用,而&&和||是逻辑运算符,一般用在if,while,for等条件判断里。

2.1.5.2 运行short s1 = 1; s1 = s1 + 1;会出现什么结果?

    short s1 = 1; s1 = s1 + 1;中,1 是int 型 s1 short型 通过 + 运算后s1 自动转为int 型 所以报错。

运行short s1 = 1; s1 += 1;又会出现什么结果?

    这个是正确的,会返回2,但在实际项目中,+1是针对int类型的操作,如果可以,把short改成int。

  2.1.5.3用最有效率的方法算出2乘以8等于多少?

    用移位运算符:int i = 2 << 3;

  2.1.5.4 "=="和equals方法究竟有什么区别?

    ==是比较地址,而在Object里的equals方法,也是判断地址是否一样,但在子类里,我们一般会重写equals方法,比如在String类里,equals方法则是判断值是否一致。

  2.1.5.5 Integer与int的区别。

    Integer是封装类,其中包含了int基本数据类型和针对int的一些操作。而int是基本数据类型。

  2.1.5.6 Math.round(12.5)等于多少? Math.round(-13.5)等于多少?

    将括号内的数+0.5之后,向下取值,所以前者是13,后者是-13。

2.1.5.7 float 型float f=3.6是否正确?

    不正确。 精度不准确,应该用强制类型转换,如下所示:float f=(float)3.6 或float f = 3.6f 

原文地址:https://www.cnblogs.com/JavaArchitect/p/8495788.html