题目
数据类型转换的规则,正确的描述( )A. short到byte类型是自动转换B. 自动转换也叫有损转换C. long到float是无损转换D. 自动转换是一种从少存储字节到多存储字节的无损自动转换
数据类型转换的规则,正确的描述( )
A. short到byte类型是自动转换
B. 自动转换也叫有损转换
C. long到float是无损转换
D. 自动转换是一种从少存储字节到多存储字节的无损自动转换
题目解答
答案
A. short到byte类型是自动转换
解析
本题考查数据类型转换规则,需掌握自动转换与无损/有损转换的核心概念:
- 自动转换(隐式转换):发生在数据范围缩小但能完全容纳的情况下,无需显式声明,且无数据丢失。
- 有损转换:数据范围缩小导致信息丢失,需显式声明。
- 无损转换:数据范围扩大或完全容纳,无信息丢失。
关键点:
- short到byte的转换是否自动?需判断取值范围是否完全包含。
- long到float的精度是否足够,是否会导致数据丢失。
选项分析
A选项
short到byte类型的转换是自动转换
- short占2字节,取值范围为$[-32768, 32767]$;byte占1字节,取值范围为$[-128, 127]$。
- byte的范围完全包含在short的范围内,若short值在byte范围内,转换后无数据丢失,因此属于自动转换。
B选项
自动转换也叫有损转换
- 自动转换是无损转换,而有损转换需显式声明。此选项混淆概念,错误。
C选项
long到float是无损转换
- long(8字节)精度高于float(4字节),float无法表示所有long值(如大整数精度丢失)。此转换为有损转换,错误。
D选项
自动转换是从少存储字节到多存储字节的无损自动转换
- 自动转换实际是从小类型到大类型(如byte到short),而非“少到多”。此选项方向错误。