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

java的运算符,算数运算符,赋值运算符,关系运算符,逻辑运算符,位运算符

2020-07-16 04:30 1796 查看


按照操作数目来分类:单目运算符,双目运算符,三目运算
按照运算符的功能来分类:
      1.算数运算符:+ , - , * , / , %,++,--
                            +,-,* 和数学上运算一样的
                            /会去除小数的部分,保留整数,不会四舍五入
                            %取余数
                            -- , ++:a-- (自动减1)    a++(a自动加1)  

                                        ++在变量的前面,先自增后备份,++在变量的后面,先备份后自增

      2.赋值运算符:=
                          这里的"="并非数学上的"=" ,a=b是将b的值给a

      3.关系运算符:> , >= , < , <= , !=(不等于) ,==  , (instanceof)  
                          关系运算符一般会出现在if条件语句中,他的返回值:true(真)或 false(假)

      4.逻辑运算符:&(逻辑与) , |(逻辑或) ,^(逻辑异或) , !(逻辑非) , &&(短路与) ,||(短路或)
                             当出现多个判断条件的时候,就会加上逻辑运算符                 
                             &:if(a&b)当a和b的放回值都为true的时候才会执行if中的语句,括号中a和b都会进行判断
                             |:if(a&b)只要a和b有一个正确就会执行if中的语句,括号中的a和b都会进行判断是true还是false
                             &&:和&相似,a和b要同时为真才会执行if中的语句,从左到右一次执行a和b,如果a为false,就会马上停                                             止, b不进行判断并且整个判断返回false,也就是从左到右,依次找为false的判断,只要找到,就马上                                         返回,如果没有找到,就返回true
                             ||:和|相识,a和b只要有一个为true,整个判断就会返回true,从左到右,依次找为true的判断,只要找到,后                                     面的判断都不会执行,返回true,如果没有找到,就会返回false

      5.位运算符:&(按位与),| (按位或), ^(按位异或), ~按位取反 , ,
                         &      
                                   a&b    1.首先将a和b转换成二进制数      

                                              2.将他们竖直排列如果都为1,结果为1    

                                              3将计算的结果转换成十进制数输出
                         |
                                   a|b      1.首先将a和b转换成二进制数

                                              2.将他们竖直排列只要有一个为1,结果为1      

                                              3将计算的结果转换成十进制数输出
                         ^
                                   a^b    

                                              1.首先将a和b转换成二进制数      

                                              2.将他们竖直排列不一样才为1,其余的都是0      

                                              3将计算的结果转换成十进制数输出
                         ~

                                    ~7

                                     

                        >>
                                    a>>1   1.首先转化换成二进制数      

                                                2.将整体向右移一位 ,最前空的一位加0,如果是负数,保留符号位  

                                                3.转换成十进制数输出

                        <<
                                    a<<1   1.首先转化换成二进制数      

                                                2.将整体向左0移一位 ,最后空的一位加0    

                                                3.转换成十进制数输出

 

[code]//位运算符
System.out.println(4&5);//4
//4= 0 0 0 0 0 1 0 0
//5= 0 0 0 0 0 1 0 1
//4= 0 0 0 0 0 1 0 0

System.out.println(4|5);//5
//4= 0 0 0 0 0 1 0 0
//5= 0 0 0 0 0 1 0 1
//5= 0 0 0 0 0 1 0 1

System.out.println(4^5);//1
//4= 0 0 0 0 0 1 0 0
//5= 0 0 0 0 0 1 0 1
//1= 0 0 0 0 0 0 0 1

System.out.println(~7);//-8

System.out.println(3>>1);//1
//3= 0 0 0 0 0 0 1 1
//1= 0 0 0 0 0 0 0 1

System.out.println(3<<1);//6
//3= 0 0 0 0 0 0 1 1
//6= 0 0 0 0 0 1 1 0


0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010

 

 

 

 

 

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐