java的各种运算符

单目运算符:

单目:~按位取反、!取非、-负号运算符、++自增、--自减


算数运算符:


算数:+(加)、-(减)、*(乘)、/(除)、%(取模)、^(乘方)、!(阶乘)、|X|、取绝对值。


三元运算符:


例:a>b?true:false   当a比b大,则返回true。当a比b小,则返回false。


赋值运算符:


= 赋值    a=b  将b的值赋给a
+=加赋值   a+=b ——> a=a+b
-=减赋值    同上
*=乘赋值
/=除赋值
%=求余赋值
&=按位与赋值
|=按位或赋值
^=按位异或赋值
<<=左移位赋值
>>=右移位赋值

关系运算符(比较运算符):


<  小于
<= 小于等于
>  大于
>= 大于等于
== 恒等于
!= 不等于


逻辑运算符


&&  当左右两端都为真,返回结果为真
||  当左右两端任何一个为真,返回结果为真
!  !true 返回的结果是false,!false 返回的结果是true。

位运算符:


& 位与运算符
|  位或运算符
^  异或运算符
~ 取反运算符
<< 向左移位
>> 向右移位       正数高位补0,负数高位补1
>>> 无符号移位   不管征服都是高位补0

package yunsuanfu;

public class WeiYunSuan {

    public static void main(String[] args) {
        int a =30;
        int b = 60;
        int c = 0;
        /**
         * &位与运算分析
         * 30转换成二进制   
         * 30/2=15   0
         * 15/2=7    1
         * 7/2=3     1
         * 3/2=1     1
         * 1/2=0     1
         * 
         * 所以30转成二进制是 0000 0000 0001 1110  int为整型是四个字节
         * 60转换成二进制 为 0000 0000 0011 1100
         *         0000 0000 0001 1110
         *      &  0000 0000 0011 1100
         * ——————————————————————————————
         *         0000 0000 0001 1100
         * 在将0000 0000 0001 1100  转成十进制 为0*2^0 + 0*2^1 + 1*2^2 + 1*2^3 + 1*2^4=28
         *
         * 
         */
        c=a & b;
        System.out.println(c); //输出结果28
        /**
         *     |位或运算分析
         *    0000 0000 0001 1110
         *  | 0000 0000 0011 1100
         * ___________________________
         *    0000 0000 0011 1110
         * 
         */
        c=a|b;
        System.out.println(c); //输出结果62
        
        /**
         * ^位异或运算分析
         * 
         *   0000 0000 0001 1110
         * ^ 0000 0000 0011 1100
         * _________________________
         *   0000 0000 0010 0010
         * 
         * 
         */
        c=a^b;
        System.out.println(c); //输出结果34
        
        /**
         *  ~取反运算分析,只针对一个数据进行操作
         *  例如~30
         *  ~ 0000 0000 0001 1110
         *  _________________________
         *    1111 1111 1110 0001 
         *
         * 
         */
        c=~a;
        System.out.println(c); //输出结果-31
        
        /**
         * << 向左位移1位
         *  0000 0000 0001 1110
         *  0000 0000 0011 1100
         * 
         * 相当于a 乘以2^1
         * 如果向左移2位
         * a*2^2
         * 
         */
        System.out.println(a<<1); //输出结果60
        System.out.println(a<<2); //输出结果120
        
        /**
         * >> 向右位移1位
         *  0000 0000 0001 1110
         *  0000 0000 0000 1111
         * 
         * 相当于a 除以2^1
         * 如果向右移2位
         * a/2^2
         * 
         */
        System.out.println(a>>1); //输出结果15
        System.out.println(a>>2); //输出结果7
        
    }
}
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值