基本数据类型、封装类和运算符的基本面试题

    科技2026-02-13  11

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

    &和|是位运算符,不怎么用,而&&和||是逻辑运算符,一般用在if,while,for等条件判断里。&&和||具有短路性质,当第一个条件的对错就能决定整个式子的true or false,则短路掉后面的语句判断。不同点就在这里。

    运行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乘以8等于多少?

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

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

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

    Integer与int的区别。

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

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

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

    float 型float f=3.6是否正确?

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

    Processed: 0.017, SQL: 10