如果对char,byte或者short类型的数值进行移位处理,那么在移位进行之前,他们会被转为int类型,

并且所得到的结果也是一个int型。

若对long类型的数值进行处理所得到的结果也是long。

如果对byte或者short值进行这样的右移(>>>=)运算,得到的可能是不正确的结果,他们会被转成int类型,

然后被截断,赋值给原来的类型.

public class Test {/*** @param args*/public static void main(String[] args) {int i=-1;System.out.println(Integer.toBinaryString(i));i>>>=10;System.out.println(Integer.toBinaryString(i));byte b=-1;        //11111111System.out.println(Integer.toBinaryString(b));  //调用Integer的toBinaryString(int x) 32个1b>>>=10;      //移位后为1111111111111111111111,因为b是byte类型,所以b= 11111111,还是-1的值System.out.println(Integer.toBinaryString(b)); //又输出32个1b=-1;System.out.println(Integer.toBinaryString(b));System.out.println(Integer.toBinaryString(b>>>10)); //移位后没有赋值,直接输出,22个1
        }}    

11111111111111111111111111111111
1111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111
11111111111111111111111111111111
1111111111111111111111

转载于:https://www.cnblogs.com/xurui1995/p/5188170.html

java移位操作符注意的问题相关推荐

  1. 一元操作符、强制类型转换表达式、乘除操作符、加法操作符、移位操作符、关系操作符、判等操作符、位操作符与逻辑操作符、条件与操作符、条件或操作符--运算机制与返回值

    操作符处理及返回值 先遣提示 一元操作符 前缀递增操作符 ++ 前缀递增操作符 - - 一元加号操作符 + 关于一元数值提升或二元数值提升 可以看这篇博客 一元减号操作符 - 这里涉及了 原码,反码, ...

  2. 【C语言】算数操作符 移位操作符 以及 sizeof单目操作符讲解

    目录 1.算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3.sizeof 单目操作符介绍 操作符介绍: C语言操作符分为: 算术操作符 移位操作符 位操作符 赋值操作符 单目操 ...

  3. Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理

    文章目录 前言 一.操作符介绍与优先级表 二.一元运算符与二元运算符的区别? 三.Java 中唯一的三元操作符 四.逻辑操作符中的德模佛定理 总结 前言 在 Java 中我们常见的操作符分为三种,分别 ...

  4. 不懂异或?一文详解移位操作符,位操作符

    一.移位操作符 <<   >> 在介绍移位操作符前先学习一下二进制的表示方法,二进制表示方法有3种: 原码,反码,补码 正数原码,反码,补码相同 负数原码,反码,补码需要计算 ...

  5. C不会断句?【前后置,位,移位操作符详解】 b = ++c, c++, ++a, a++

    介绍:首先明确基础知识 b=a++   把a赋给b  然后a+1 c=--a     先a-1     然后把结果赋给a和c 逗号表达式的优先级较低,从左往右算 整数的原反补相同 内存中存储的都是二进 ...

  6. 算数操作符与移位操作符

    目录 一.算数操作符 二.移位操作符 一.算数操作符 算术操作符有:+ - * /   % 1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数. 2. 对于 / 操作符如果两个操作数都 ...

  7. java移位运算符详解

    java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移). 1. 左移运算符 左移运算符<<使指定值的所有位都左移 ...

  8. Java移位运算符不外乎就这三种

    Java移位运算符不外乎就这三种:<<(左移).>>(带符号右移)和>>>(无符号右移) 1. 左移运算符 左移运算符<<使指定值的所有位都左移规 ...

  9. 第三节:带你详解Java的操作符,控制流程以及数组

    前言 大家好,我是 Vic,今天给大家带来带你详解Java的操作符,控制流程以及数组的概述,希望你们喜欢 操作符 算数操作符 一般的 +,-,*,/,还有两个自增 自减 ,以及一个取模 % 操作符. ...

最新文章

  1. 创新工场提出中文分词和词性标注模型,性能分别刷新五大数据集| ACL 2020​
  2. markdown语法进阶
  3. 还记得范进中举的故事吗
  4. php 常用的日期函数,常用php日期函数总结
  5. ONNX系列三 --- 使用ONNX使PyTorch AI模型可移植
  6. C语言学习笔记----sizeof()的使用
  7. 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧以及动画创建!【二】...
  8. JavaScript的高大强
  9. winform的label内容居中_C# Winform label自定义大小与居中实现教程
  10. 基于网络安全相关的开源项目技术预研分析报告
  11. 01336软件项目管理复习
  12. fwr310刷openwrt_迅捷FWR310无线路由器的刷机
  13. iOS端屏幕录制ReplayKit
  14. mysql配置文件生效测试
  15. 360度全景的地拍如何制作?
  16. 通达信股票接口委托成功原理是什么?
  17. Qt+openCV学习笔记(五)Qt5.15.2+openCV4.5.4+VS2019_64编译动态库
  18. 蓝牙血压计医疗方案设计
  19. SPSS实现单样本K-S检验
  20. 记录打卡假期的学习计划

热门文章

  1. SSH整合教程(struts2+spring3+hibernate3)(含登陆示例)
  2. Clojure 入门
  3. go语言的main函数
  4. Nginx-05:Nginx配置实例之反向代理2
  5. 常考数据结构与算法:用两个栈实现队列
  6. 设计模式五:外观模式
  7. python十五:函数作用域-函数即变量
  8. 【前端词典】和媳妇讲代理后的意外收获
  9. https ssl 总结
  10. lamp wordpress