目录
Java有哪些数据类型
- 基本数据类型
- 布尔类型:
- boolean:1字节
- 字符型:
- char:1字节
- 数值型:
- byte:1字节
- short:2字节
- int:4字节
- float:4字节
- double:8字节
- long:8字节
- 布尔类型:
- 引用数据类型
- 类
- 接口
- 数组
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面试题
通过自己理解写完后,在修改,如果有什么不准确的欢迎留言告诉我。