单选题
下面哪项是将一个十六进制值赋值给一个long型变量?
A
long number = 345L
B
long number = 0345
C
long number = 0345L
D
long number = 0x345L
答案解析
正确答案:D
解析:
这道题考查的是Java中不同进制数值的表示方法以及如何正确地为long类型变量赋值。
选项A: long number = 345L
这是一个十进制数赋值给long类型变量的例子。这里的L后缀表明这是一个long类型的字面量。但是,这不是十六进制的形式。
选项B: long number = 0345
这种形式在Java中表示一个八进制数(以0开头的非负数默认为八进制)。然而,它没有使用L后缀来明确指出它是一个long类型,虽然在这种情况下编译器通常可以推断出来。此外,这不是十六进制的形式。
选项C: long number = 0345L
和选项B类似,这是八进制形式,并且使用了L来明确指出这是一个long类型。但是题目要求的是十六进制形式。
选项D: long number = 0x345L
在Java中,十六进制数是以0x或0X开头的。这里0x345是一个有效的十六进制数值,L后缀表示这是一个long类型的字面量。因此,这是正确的答案。
综上所述,正确答案是D,因为它符合题目要求的十六进制表示法,并且正确地指定了long类型。
选项A: long number = 345L
这是一个十进制数赋值给long类型变量的例子。这里的L后缀表明这是一个long类型的字面量。但是,这不是十六进制的形式。
选项B: long number = 0345
这种形式在Java中表示一个八进制数(以0开头的非负数默认为八进制)。然而,它没有使用L后缀来明确指出它是一个long类型,虽然在这种情况下编译器通常可以推断出来。此外,这不是十六进制的形式。
选项C: long number = 0345L
和选项B类似,这是八进制形式,并且使用了L来明确指出这是一个long类型。但是题目要求的是十六进制形式。
选项D: long number = 0x345L
在Java中,十六进制数是以0x或0X开头的。这里0x345是一个有效的十六进制数值,L后缀表示这是一个long类型的字面量。因此,这是正确的答案。
综上所述,正确答案是D,因为它符合题目要求的十六进制表示法,并且正确地指定了long类型。
相关知识点:
十六进制赋long型加0x
