java 位移等操作


        double i = Integer.MIN_VALUE - 1;
        System.out.println(i);
        System.out.println(0b111);//二进制Binary
        System.out.println(0x111);//16进制  Hex
        System.out.println(01234); //八进制 Octal
        System.out.println(100);//Decimal

//注意位运算时 负数要转换为补码形式
       // Integer a = null;
      //  Integer b = 10-2>10 ? a : (Integer) 12;
    //    Integer b1 = 10-2>10 ? a :  12; //npe
    //    System.out.println(b);
     //   System.out.println(0b10000000000000000000000000000000);
        System.out.println(Integer.toBinaryString(-1));

        //^ 两个二进制每一位一样 0,不一样1  |只要一个为1 就为1
        // ~单目取反
        System.out.println(~3);
        System.out.println((4^3^4)==3); //可用来加密
        System.out.println("-------------------------------------------");
        int a=100;
        int b=200;
        a=a^b;
        b=a^b;   //b=a^b^b == a
        a=a^b;   //a=a^b^a==a^a^b
        System.out.println(a);
        System.out.println(b);
        System.out.println("-------------------------------");
        System.out.println(8>>>2);//2
        System.out.println(-8>>>2); //其实是对补码移位,所以全部用0补全补码此时就是正数了 正数的话补码等于原码,此时是个一个很大的数 不支持<<<
        System.out.println(-32>>2);   //针对补码位移,移位右移位如是正数,高位全部补0,负数全部补1 (因为是对补码操作,所以看起来很怪,对原码的话就很好理解了)
        System.out.println(Integer.toBinaryString(Integer.MAX_VALUE).length());//不显示符号位
        System.out.println(Integer.MIN_VALUE);
        System.out.println(Integer.toBinaryString(Integer.MIN_VALUE));  //显示符号位
        System.out.println(0x80000000);
        maxValue = Integer.MAX_VALUE;
        double value = (double) Integer.MAX_VALUE;
        System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);
        System.out.println(Integer.toBinaryString(-7));//补码
        System.out.println(0x02<<2);
        System.out.println(0x02);


//string  的骚操作
    String s = "hello, ";
    System.out.println(s.trim().substring(0, s.length() - 1));//hello,
    s = s.trim();
    System.out.println(s.substring(0, s.length() - 1));//hello
   // 上下 两个s不一样 s.lenth变了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值