您的位置:首页 > 编程语言 > Java开发

Java中int和byte的相互转换

2016-09-03 07:07 405 查看
最近老有人问我int和byte的相互转换,我当时表示好吃惊….项目中竟然会用到这两者的转换,o(╯□╰)o惊恐

虽然我目前还没用到过,但还是总结下,供大家参考。

首先明确下定义,

byte 为字节数据类型 ,有符号,占1个字节,大小范围为-128~127

int为整型类型,有符号型的,占4个字节,大小范围为:-2147483648~2147483647

测试如下,

public static void main(String[] args) {
for(int i=-128; i<128; i++){
int tempInt = i;
byte tempByte = (byte)tempInt;
System.out.println(tempByte);
}

System.out.println("***********************");

for(int i=128; i<256; i++){
int tempInt = i;
byte tempByte = (byte)tempInt;
System.out.println(tempByte);
}
}


结果如下,

=>-128

-127

-126

-125

…(省略)

-1

0

1

2

…(省略)

126

127

[b]**************************[/b]”

-128

-127

-126

…(省略)

-4

-3

-2

-1

通过测试我们可以看到byte会在自己范围内一直循环…,所以在转的时候注意了,超出byte范围会有位数的丢失哦。

PS,Integer有个byteValue方法可以直接获得byte值…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java byte int 转换 int-byte