java学习--运算符

运算符

算术运算符

混合运算

  • 当进行多类型混合运算时,结果是参与运算的最大类型

  • 当只有byte short int char 四种类型中任意一种或多种进行运算,结果一定是int 类型

关系运算

位运算/逻辑运算

位运算进阶

 
// & 也支持两边是数字,转换为二进制进行每位比较,都是1 则取1,否则取0
         // 运算结果,不会超过两个数中的最小数,所以适合用于做数组下标技术(包括hash算法)
         // 0000 1111
         // 0000 1000
         // 0000 1000
         System.out.println(15 & 8);
 ​
         // ^ 也支持两边是数字,转换为二进制进行每位比较,不同取1,相同取0
         // 因此 两个相同数进行^ , 结果得0 , 并且 0和任何数进行^ , 该数不变
         // 0000 1111
         // 0000 1000
         // 0000 0111
         System.out.println(15 ^ 8);
         System.out.println(15 ^ 56 ^ 23 ^ 15 ^ 23);
 ​
         // ~ 按位非,转换二进制,1变0,0变1 (符号位也会变)
         // 0000 1100
         // 1111 0011 补码
         // 1111 0010 反码
         // 1000 1101
         System.out.println(~12);
 ​
         // >> : 右移运算(考虑符号位,符号位不受影响)
         // 10 >> 1 , 右移1次,会把最右边的一个删除,在最左边补0 (如果是负数,就补1)
         // 右移一次,相当于该数 / 2
         // 0 00000 10
         System.out.println(10 >> 2);
         // 1000 1010
         // 1111 0101
         // 111111 01
         // 111111 00
         // 100000 11
         System.out.println(-10 >> 2);
 ​
         // >>> : 右移运算(不考虑符号位),只补0,不补1
         System.out.println(10 >>> 2);
         // 1000 0000 0000 0000 0000 0000 0000 1010
         // 1111 1111 1111 1111 1111 1111 1111 0101
         // 001111 1111 1111 1111 1111 1111 1111 01
         System.out.println(-10 >>> 2);
         System.out.println(0b00111111111111111111111111111101);
 ​
         // << : 左移运算,只补0, 不补1
         // 左移1次,相当于该数*2
         // 0000 0010
         // 00 001000
         System.out.println(2 << 2);
         // 1000 0010
         // 1111 1101
         // 1111 1110
         // 11 111000
         // 11 110111
         // 10 001000
         System.out.println(-2 << 2);
 ​
         // 如何快速计算2的3次方?
         System.out.println(2 << 2);
 ​

赋值运算

字符串拼接符

三目运算符

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值