第1个回答 2010-12-13
0X或者0x开头表示这是一个16进制的数值。
L或者小写l 结尾表示这个数是一个长整型的数。
为什么要写上L呢?因为Java里整数默认是int型,如果你这么写:
long a=1;
是不能通过编译的,如果你使用IDE,会提示你不能将int转换成long型。因为附值符号“=”两边类型是要一致的。你声明a是long型,而常量 1 默认就是int型,因此是错误的。
这时候就必须显式的就常量1写成 1L或者1l,表示这个常量是long型。
相同的浮点数(小数)默认是double型,如果你要声明float型的,也必须加上F或者f
第2个回答 2010-12-13
0x123L 表示十六进制数,这个语句是给变量a赋值。
L表示长整型。
至于为什么,学习一下java的历史就很能明白为什了
第3个回答 2010-12-13
0X 表示 16进制数
Long a= 0X123L;
表示 16进制的 123 的长整型。