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

织梦站长工具箱

  • 织梦CMS标签生成器
  • DedeCMS模板手册
  • AG亚游正则表达式测试
  • HTML/JS互转
  • AG亚游内容分词工具
  • AG亚游JS/CSS压缩

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%
关于我们 招贤纳士 联系我们 帮助中心 协议说明 网站地图 用户反馈 合作伙伴 捐助织梦