`
demojava
  • 浏览: 540135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 逐位运算符

    博客分类:
  • JAVA
 
阅读更多

 
 运算符归类:

一元运算符:逻辑运算符(!),非运算符(~)

二元运算符:复制运算符(=),逻辑与运算符(&&),逻辑或运算符(||)

逐位与运算符(&),逐位或运算符(|),右移运算符(>>)

三元运算符:X?Y:Z;

逐位运算符

 逐位运算符是一种比较复制的运算符。可以分为逐位逻辑运算符,逐位位移运算符两种。无论那种逐位运算符,都必须将操作数要求是整形的操作符,转换为32位的二进制数值。然后参与运算,运算完毕将结果转换成十进制数据.

1.逐位运算符

逐位运算符(&)是一个二元运输符,该运算符可以将左右两个操作数据逐位执行And的操作

  即只有2个操作数据中的对应的位数都加1是,该结果中的的这一位才是1,否则就是0,如下代码:

 

 

int s=9&12; //结果是8

int s1=1&15; //结果是1

 

 

 

 

图解:在进行逐位与操作时,逐位与运算符会将10进制的数据转换成2进制的数据,在将2进制的数据转中的每一位数值逐位进行and操作,的出结果后将结果转换成10进制的数据。

2.逐位运算符

逐位或运算符(|)和逐位与运算符类似,可以将左右两个操作符逐位都执行OR操作,两个操作中的相对位的只要有一个为1的时,该结果的这一位就是1,其他就是0

 

   int s=9|12; //结果是13

int s1=1|15; //结果是15

 

 



 

 

图解:在进行逐位或操作的时候,逐运算或将10进制的操作数据转换成2进制的数据,在将2进制的数据中的每一位数值逐位进行OR操作,得出的结果将家恶果转换成10进制的。

3.逐位异或运算符

逐位异或运算符(^)和逐位与运算符类似,可以将左右2个操作数逐位执行异或运算,所谓异或操作是指,将第1个操作数和第2个操作数相对应的为上的2个数值

 

      int s=9^12; //结果是5

      int s1=1^15; //结果是14

 



 
 

 

4逐位非运算符

逐位非运算符(~)是一元运算符,作用与操作数据之前,可以将操作数据中的所有位数中的数值取反,在java中对于一个带符号的整数进行逐位非运算符。相当于将该整数改变符号,然后在减1

 

      int s=~12; //结果是-13

      int s1=~-15; //结果是14

 

 

 

 

 

图解:简单来说,逐位非运算,相当于将该整数改变符号再减1

5左移运算符

左移运算符(<<)是一个二元运算符,可以将1个操作数据中的所有数值,

(一共32),向左移动,移动的位数由第2个操作数决定,因此第2个操作数应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据

 

            int s=12<<1; //结果是24

           int s1=15<<13; //结果是122880

 

 

 

 

图解:是将一个值左移1位,相当于将该数值乘以2;左移2位,相当于将该数值乘以4

6带符号的右移运算符

带符号的右移运算符(>>) 是一个二元操作符,可以将第1个操作数据中的所有数值(一共32)向右移动,移动的位数由第2个操作数据来决定,因此第2个操作数据应该是0~31的整数,如果第2个操作数据大于31,那么结果就是第一个数据。

 

 

 

 

图解:是将一个值带符号右移1,相当于该数据的值除以2(去掉余数),右移2位相当于将该数据除以4, (去掉余数),

70补足的右移运算符

0补足的右移运算符(>>>)与带符号的左移运算符类似,只是在右移的时候,最左侧的数值都是用0来补充。

[code="java"]

                 int s=12>>>1; //结果是6

                 nt s1=-12>>>1; //结果是2147483642

 [/code]



 

 

图解:在进行用0不足的右移操作时,用0补足的右移运算符会将第一位的操作符转换成2进制的数据,在根据第2个操作数据来决定右移位数,如果第2个操作数据是1,则将第一个操作数中的所有位数都右移1位,即第32位变成31位,第31位变成30位,依次类推,

8三元运算符(条件运算符?:)

条件运算符(?:)必须有3个操作数据,第一个操作数据必须是boolean的表达式,

而第二个操作数据是Y,和第3个操作数据Z可以是任何的类型的数值

X?Y:Z

[code="java"]

                 String demo=true?”demo”:”Test”; //结果是demo

 [/code]

 

 

  • 大小: 16.5 KB
  • 大小: 10.8 KB
  • 大小: 28.1 KB
  • 大小: 15.2 KB
  • 大小: 18.1 KB
  • 大小: 17.8 KB
  • 大小: 65.6 KB
分享到:
评论

相关推荐

    Java中的运算符Java中的运算符

    Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java中的运算符Java...

    13.java位运算符.zip

    13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位运算符.zip13.java位...

    Java运算符Java运算符Java运算符Java运算符Java运算符

    Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符Java运算符

    34.java短路逻辑运算符.zip

    34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip34.java短路逻辑运算符.zip...

    14.java三位运算符.zip

    14.java三位运算符

    Java中位运算符.pdf

    Java中位运算符.pdf 学习资料 复习资料 教学资源

    JAVA+零基础学JAVA+运算符教程

    JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零基础学JAVA+运算符JAVA+零...

    java位运算符之&AND操作视频

    java位运算符&AND操作视频!!!!

    9.java赋值运算符.zip

    9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip9.java赋值运算符.zip...

    35.java三元运算符.zip

    35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元运算符.zip35.java三元...

    32.java关系运算符.zip

    32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系运算符.zip32.java关系...

    30.java赋值运算符.zip

    30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值运算符.zip30.java赋值...

    10.java算术运算符.zip

    10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术运算符.zip10.java算术...

    java条件运算符

    这是java的条件运算符的基本例子,可参照代码来学习。

    java 移位运算符的资源

    java 移位运算符 java 移位运算符 java 移位运算符

    java 转型运算符的资源

    java 转型运算符 java 转型运算符 java 转型运算符 java 转型运算符

    33.java逻辑运算符1.zip

    33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33.java逻辑运算符1.zip33...

    Java中位运算符在操作逻辑型数据时与逻辑运算符&&、-、!不同的测试

    Java中位运算符在操作逻辑型数据时与逻辑运算符&&、||、!不同的测试,测试结果逻辑运算符左侧的表达式会进行运算、右侧的不会,非运算一定会变;位运算符两侧都会变

    java位运算符.pdf

    java位运算符.pdf

    Educoder题目:Java入门 - 运算符和表达式答案解析.md

    Educoder题目:Java入门 - 运算符和表达式答案解析

Global site tag (gtag.js) - Google Analytics