问题
单项选择题
下面各项声明中合法的是( )。 Ⅰ:long l=4990; Ⅱ:int i=4L; Ⅲ:float f=1.1; Ⅳ:double d=34.4;
A.Ⅱ、Ⅲ
B.Ⅱ、Ⅲ、Ⅳ
C.Ⅰ、Ⅳ
D.Ⅲ、Ⅳ
答案
参考答案:C
解析: 此题的考点是数字的表示法和基本数据类型间的自动转换。Java语言中,没有小数点的数字被认为是int型:带有小数点的数字被认为是double型:其他的使用在数字后面加一个字母表示数据类型,加1或者L是long型,加d或者D是double型,加f或者F是float型。可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换。例如将int、short、byte类型的数赋值给long型时,不需要显式的类型转换;反之,将long型数赋值给byte、short、int型变量时需要强制转换(int a=(int)123L)。 Int I=4L是将一个Long型的数据赋给一个整型的变量,这不符合赋值的要求:Double d=34.4是正确的赋值,因为Double d=34.4d。因此应该选C。