Java运算符

1.算数运算符:

   加+ 减- 乘* 除 / 取余%  

2.自增、自减运算符

    ++X(--X)在使用之前先加(减)1

    X++(X--)在使用后加(减)

3.关系运算符

关系运算符用来比较两个值的关系,运算结果是boolean型,成立为ture,否则是false。都是从左到右。

           < 、>、=、!= 、 ><、>=、<=

4.逻辑运算符

          逻辑与&&、逻辑或||、逻辑非!

        其中&&、||为双目运算符;!为单目运算符。逻辑运算符的操作元必须是boolean型数据,逻辑运算符可以用来连接关系表达式。

条件运算符:

5.赋值运算符

    =是双目运算符,左边的操作元必须是变量,不能是常量或表达式。结合从右到左

注:赋值运算符(=)与等号运算符(==)不一样

6.位运算符

按位与 &  :两者都要达到条件,双目运算符,结果精度以最高那个

按位或 | : 两者其中一个达到条件,结果精度以最高那个

按位非 ~ :取反,单目运算符

按位异或 ^,是双目运算符,参与运算的两个数对应的二进制位相异或,当对应的两个二进制位相异时,结果为1,否则结果为0;

7.instanceof运算符

该运算符为双目运算符,左边的操作元是一个对象,右边是一个类。左边的对象是右边类创建时,结果为true否则是false。

位运算符包括:按位与、按位或、按位异或、取反、右移和左移 ;

除‘~’取反外,其余皆为双目运算符,结合方向均为自左向右;

按位与,只有两个二进制位均为1时结果才为1,其余皆为0,按位与可以实现二进制序列指定为清0,(n)&(n-1),每次可以清0一次,即把一个1变为0,利用这个作用,可以简单实现判断一个数是不是2^n和计算一个数的二进制序列中有几个1;

按位或,参与运算的两个数各位相“或”,只要其中有一个二进制位值为1,结果就为1,如果要将一个数的某几位置1,只需要与这几位二进制序列是1的数进行或操作即可;

按位异或,,参与运算的两个数对应的二进制位相异或,当对应的两个二进制位相异时,结果为1,否则结果为0,一个整数与0异或会保留原值;

按位取反,在进行取反操作时不可简单的认为一个数取反后的结果就是该数的相反数; 整数在内存中存放的是其二进制补码,对其操作实际上是对二进制补码的运算,所以左移和右移的操作数必须是整型数据;

左移,其功能是把”<<”左边的运算数的各二进制位全部左移若干位,由”<<”右边的数指定其移动的位数,左移过程中高位丢弃,低位补0;

在移出位不含1的情况下,左移一位相当于该数乘2;

右移,右移运算符是双目运算符,作用是把”>>”左边的运算数的各二进制位全部右移若干位,由”<<”右边的数指定其移动的位数;

在进行右移时对于有符号数要注意符号位问题,当为正数时,最高位补0;

而为负数时,最高位补0还是补1取决于编译系统的决定,补0的称为“逻辑右移”,补1的称为“算术右移”,在我们计算时,一般采用逻辑右移,即高位补符号位, 移位操作效率比乘除高,所以如果可以用左移/右移来代替乘2.除2时优先选择左移/右移;

无符号值执行的所有移位都是操作都是“逻辑移位”。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 主要涉及 按位运算符(&、|、~、^) 移位操作符(<<、 >> 、>>> ) 废话 为什么说是就算学了也不会用的...
    睡不醒的猿阅读 934评论 0 1
  • Java运算符: 目录:1.算术运算符2.位运算符3.赋值运算符4.比较运算符5.逻辑运算符6.三目运算符7.运算...
    Ansaxnsy阅读 5,300评论 4 3
  • 表达式与运算符 表达式 表达式由运算符和操作数组成,根据运算符也可分为单目表达式、双目表达式、三目表达式 计算:表...
    若兮缘阅读 366评论 0 7
  • &(按位与运算符) &(按位与)的运算规则是将两边的数转换为二进制位,然后运算最终值,运算规则即(两个为真才为真)...
    fomin阅读 294评论 0 1
  • 今天在龙二小参与了低年段的“疑难解答”感觉一小的李芸慧老师讲的真的更棒,语言干净利落,她提供的方法对于我这种新晋的...
    civili阅读 197评论 0 0

友情链接更多精彩内容