1l代表长整型,1f代表单精度浮点型,1d代表双精度浮点型,那byte怎么表示?
long l = 1l;
float f = 1f;
double d = 1d;
// byte b = 1?;
byte
的中文对应是什么?它存在吗?
1l代表长整型,1f代表单精度浮点型,1d代表双精度浮点型,那byte怎么表示?
long l = 1l;
float f = 1f;
double d = 1d;
// byte b = 1?;
byte
的中文对应是什么?它存在吗?
您需要像这样将其强制转换为byte:
byte b = 1;
b = (byte) 5;
由于默认情况下这些数字常量在Java中被视为int类型。
byte b = 1;
是完全合法的。 - Jesperbyte b=1
可以正常工作,但是对于除初始化之外的任何其他操作都需要再次进行强制类型转换,即使是看似无害的 b+=1
。我理解必须这样,但每次都要强制转换有点烦人。 - GameDroids没有后缀可以附加到数字文字
字节没有这样的后缀,请参见Java语言规范第3.10.1节:
DecimalIntegerLiteral:
DecimalNumeral IntegerTypeSuffix(opt)
IntegerTypeSuffix: one of
l L
注意,(opt)
表示它是可选的。因此,要进行赋值,您需要明确使用 (byte) 1
进行转换。