【Java中的byte类型及用if-else对三个数排序】
1、byte类型是Java的基本数据类型,占一个字节,2^8,表数范围:-128~127
[java]
public class TestByte {
public static void main(String[] args) {
byte b1 = 1;
b1++;
b1 = b1 + 1;
}
}
编译番茄花园xp系统下载时出现以下错误:
TestByte.java:5: 错误: 可能损失精度
b1 = b1 + 1;
^
需要: byte
找到: int
1 个错误
是因为 b1 + 1 中的常量 1 是默认为一个 int 类型数据,相加结果不能赋给 byte 类型
[java]
byte b1 = 1;
byte b2 = 1;
byte b3 = 1 + 1;
byte b4 = b1 + b2; //可以改为byte b4 = (byte)(b1 + b2)
编译时第 4 行还是出现同样的问题,因为 byte 在计算时首先要转换为 int 类型,其结果也不能赋给 byte 类型。