我读了一本书:
byte rounds = 12, fighters = (byte) 2;
说明
字节原语有一个四字节有符号整数作为有效字节 文字。如果未执行显式强制转换,则整数为 隐式地转换为一个字节。
根据Oracle doc,一个字节本质上应该是一个字节吗?
答案 0 :(得分:1)
Java提供了用于初始化基元数据类型的特殊文字,例如
int a = 1234;
double b = 12.34;
float c = 56.78f;
char d = 'x';
文档说明byte
类型没有特殊字面值。相反,原始类型byte
与int
共享其文字。当有符号的32位int
字面“适合”单个字节时,Java将执行隐式转换;否则,它将产生编译时错误。
答案 1 :(得分:0)
一个字节是一个字节。但是文字12是整数类型,它是4个字节。这句话说的是当你写byte rounds = 12
时,存在一个隐式转换,将整数12变换为一个字节。
答案 2 :(得分:0)