java基础面试准备 第二天

java有哪些数据类型?

        定义:Java语言是强类型语言,对于每一种数据都定义了明确的具体的数据类型,在内存中分配了不同大小的内存空间

 引用数据类型包括以下几种:

类类型(Class Type)类类型是指由类定义的数据类型,包括自定义类和Java API中的类
接口类型(Interface Type)接口类型是指由接口定义的数据类型,接口定义了一组方法的签名,而不包含方法的实现
数组类型(Array Type)数组类型是指由相同数据类型的元素组成的有序集合,可以通过下标来访问每个元素
枚举类型(Enumeration Type)枚举类型是指由一组具名常量组成的数据类型,每个常量都有一个唯一的名称和一个预定义的值
注解类型(Annotation Type)注解类型是指由注解定义的数据类型,注解用于为程序元素添加元数据

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

        switch语句可以作用在byte、short、char、int、枚举类型和String类型上,但不能作用在long类型上。

  1. byte、short、char、int和枚举类型:这些类型可以作为switch语句的表达式类型,因为它们的取值范围是有限的,可以作为case语句的常量表达式
  2. long类型:由于long类型的取值范围较大,无法枚举所有的取值,因此不能作为switch语句的表达式类型
  3. String类型:从Java SE 7开始,String类型也可以作为switch语句的表达式类型,在使用String类型作为表达式时,case语句后面跟的是字符串常量,而不是整数常量

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

        计算2乘以8,最有效率的方法是使用位运算,因为位运算比乘法运算和除法运算更快

        具体来说,可以使用左移运算符(<<)实现2乘以8的计算,左移运算符将一个二进制数向左移动指定的位数,相当于将这个数乘以2的指定次幂;对于2乘以8,可以将2左移3位,即2 << 3,得到的结果为16

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

  • Math.round(11.5)的返回值是 12
  • Math.round(-11.5)的返回值是-11
  • Math.round是取大于这个数的最小整数

float f=3.4;是否正确?

        不正确!3.4 是双精度数,将双精度型(double)赋值给浮点型(float)属于下转型(down-casting,也称为窄化) 会造成精度损失,因此需要强制类型转换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);其中有隐含的强制类型转换

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值