面试题目(二)基础语法

Java有哪些数据类型

  1. 基本数据类型
    • 布尔类型:
      • boolean:1字节
    • 字符型:
      • char:1字节
    • 数值型:
      • byte:1字节
      • short:2字节
      • int:4字节
      • float:4字节
      • double:8字节
      • long:8字节
  2. 引用数据类型
    • 接口
    • 数组

switch 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上

  • 在 Java 5 以前,switch(expr)中,expr 只能是 byte、short、char、int。从 Java5 开始,Java 中引入了枚举类型,expr 也可以是 enum 类型,从 Java 7 开始,expr 还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。

用最有效率的方法计算 2 乘以 8

  • 2<<3(向左移3位,相当于2乘以2的3次方(二进制:10–》10000))

Math.round(11.5) 等于多少?Math.round(-11.5)等于多少

  • 在参数上加0.5然后向下取整,所以Math.round(11.5) = 12, Math.round(-11.5) = -11

float f=3.4;是否正确

  • 不正确,因为3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型会造成精度损失,因此需要强制类型转换float f =(float)3.4; 或者写成 float f =3.4F;。

short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗

  • 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int型,需要强制转换类型才能赋值给 short 型。
  • 而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short(s1 + 1);其中有隐含的强制类型转换

总结

此试题转载: JAVA面试题
通过自己理解写完后,在修改,如果有什么不准确的欢迎留言告诉我。

猜你喜欢

转载自blog.csdn.net/qq_41816516/article/details/106691116