关闭

[Java] byte & int

2552人阅读 评论(0) 收藏 举报

在Java中操作byte类型变量需要遵循一些潜规则:

1. 赋值。
    byte x = 0x7F;   //~Right
    byte x = 0x80;   //~Wrong
    byte x = -0x80;  //~Right
    也就是说byte类型的变量取值范围是-128~127,下面两个式子是等效的:
    byte x = -0x01;
    byte x = (byte)0xFF;

2. 位运算。
    右移一律用符号位填充,因此>>和>>>是等效的。左移用0填充。
    含变量的位运算后结果为int类型,用符号位补足位数。
    纯常量的位运算在编译时判定赋值是否正确,参照1。

3. 算术运算。
    算术运算优先级高于位运算。
    含变量的算术运算后结果为int类型,用符号位补足位数。
    纯常量的算术运算在编译时判定赋值是否正确,参照1。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:81433次
    • 积分:1431
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:3篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论