byte范围-128 ~127 简直颠覆传统概念。不是应该0~255吗 - - ….
byte位基本数据类型,超过范围将无法编译代码。java提供了对应的封装类:Byte,可以用其2个属性来打印byte数据类型的范围。
Byte类文档查看
当byte的范围超过,将不会执行二进制运算
public class Test3_byte{
public static void main(String[] arg)
{
byte b = 100;
System.out.println(b);
byte b2 = 126;
b=(byte)(b+b2);
System.out.println(b); //数据溢出 将不会执行运算操作
Byte c = new Byte((byte)10);//强制转换 应该不会出问题吧
System.out.println("MIN_VALUE:"+c.MIN_VALUE +" MAX_VALUE:" +c.MAX_VALUE +"size:"+c.SIZE);
}
}
C++对照
C++中byte为1字节,可用char代替,范围0-255
#include "stdafx.h"
#include <iostream>
typedef unsigned char BYTE;
int main()
{
BYTE x = 100;
BYTE x2 = 255;
x += x2;
printf("%d", x);//打印99 溢出部分将继续进行运算,超过256时候为0 +x2 = 99
}