主页 > 知识库 > 网络编程 > JSP/Java >

Java中的byte类型及用if-else对三个数排序

来源:中国IT实验室 作者:佚名 发表于:2013-07-15 15:18  点击:
1、byte类型是Java的基本数据类型,占一个字节,2^8,表数范围:-128~127 [java] public class TestByte { public static void main(String[] args) { byte b1 = 1; b1++; b1 = b1 + 1; } } 编译时出现以下错误: TestByte.java:5: 错误: 可能损失精度 b1 = b
1、byte类型是Java的基本数据类型,占一个字节,2^8,表数范围:-128~127  [java]
  public class TestByte {
  public static void main(String[] args) {
  byte b1 = 1;
  b1++;
  b1 = b1 + 1;
  }
  }
  编译时出现以下错误:
  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 类型。

有帮助
(0)
0%
没帮助
(0)
0%