「这是我参与11月更文挑战的第3天,活动详情查看:2021最后一次更文挑战」。
- JAVA中数据类型大小和平台是32位、64位相关吗?
A:不相关,虚拟机原因会兼容平台。
- JAVA中解析数据时,需要考虑处理器的大小端问题?(即0x1234的12是在高位还是低位)?
A:不需要。JAVA由于虚拟机的关系,屏蔽了大小端问题,需要知道的话可用ByteOrder.nativeOrder()查询。在操作ByteBuffer中,也可以使用ByteBuffer.order进行设置。
- JAVA中short、int、long的字节分别是多少?
A:2、4、8
- float、double是多少字节?
A:4、8
- JAVA中BYTE、CHAR是多少字节?C++中char是多少字节?
A:JAVA中是1和2,C++中是1
- boolean类型的大小?
A:bool类型无空间大小
- 不可变类型有哪几种?
A:short、int、long、float、double、byte、char、boolean的包装类型,以及String。这9种属于不可变类型。
- 类里成员如果是基本数据类型,那么会自动初始化?初始化成什么?
A:会,初始化为0或者false
- JAVA中局部变量没初始化,会报错吗?
A:不使用的话不会报错。如果使用的话,编译器会检测到没初始化,就会报错。
- 布尔类型可以强制转化成其他类型吗?
A:不能。boolean b = 1或者boolean b = true是不可以的。
扫描二维码关注公众号,回复:
13175645 查看本文章
- 什么时候不能隐式转化?
A:如果丢失精度,则不能隐式转化,比如long转int或者double转long。编译器会强制使用强制转化。
- 8种原始数据类型的类型优先级排序是?
A:byte、short、char<int<long<float<double
- 整型包装类型的比较,下面输出是什么?
Integer num1 = 128, num2 =128;
System.out.println(num1 == num2);
A: 输出false。 值的范围在-128~127的时候Integer可以直接用==比较大小,但是超出这个范围时,==就不管用了,要用equals。大致原因是在那个范围,Integer的对象会直接用缓存对象,所以地址都相同。不在那个范围,Integer对象新生成1个对象,所以地址不同。