在Java程序中,若未显式指定数据类型,且值超出int类型的表示范围,则以下哪种常量表示方式不会导致编译错误?
答案解析
A选项直接使用超出int范围的十进制数,默认为int类型,会导致编译错误,因为该值超出int的范围。B选项0x80000000在十六进制表示下等于-2147483648,是int范围内的最小值,故没有错误,但是题目要求的是超出int范围且不会导致编译错误。C选项的2147483647L显式指定了long类型,即便其值本身在int范围内,但由于L后缀,编译器会将其视为long类型处理,不会导致编译错误,且该值可以表示超出int范围的数值。D选项是两个int类型值的运算,在运算完成后,结果会被视为int类型的值,然后该结果赋值给变量。 即使结果超过int的范围,也是运算完成后才溢出, 而不是定义时直接出现错误。本题考查的是常量定义时是否会因为超出int范围而出错,因此D选项不能满足要求。因此,只有C选项能够表示超出int范围的数值,且不会导致编译错误。
正确答案:C