class Main {
public static void main(String[] args) {
int myMinIntValue = Integer.MIN_VALUE;
System.out.println("MY INteger Value is =" + myMinIntValue);
byte myMinByteValue = Byte.MIN_VALUE;
System.out.println("MY byte Value is =" + myMinByteValue);
int myTotal = (myMinIntValue);
System.out.println(myTotal);
byte myTotalByte = (myMinByteValue / 2);
System.out.println(myTotalByte);
}
}
错误:-/Main.java:15:错误:不兼容类型:可能从int到byte字节的有损转换myTotalByte=(myMinByteValue/2);^1错误
有两种方法可以将byte
类型变量作为最终
:
final byte myMinByteValue = Byte.MIN_VALUE;
或者,您可以将其强制转换为
字节
,并让编译器明确知道。
byte myTotalByte = (byte) (myMinByteValue / 2);
要了解更多信息,请访问java文档。
byte myTotalByte = (byte)(myMinByteValue / 2);
2
是一个整数字面量,所以结果也是一个整数。但是即使你写myMinByteValue/(byte)2
-它仍然是一个整数,因为int
是JVM中的最小类型大小(byte
在JVM内部被视为int
)。
2
是 int
类型,你必须强制转换它:
byte myTotalByte = myMinByteValue / (byte)2;
那是iirc,因为我现在不在电脑前。