Java learn 操作符学习部分完结

逻辑操作符
和C语言类似都为 与 或 非。
但Java中有长路和短路

长路与 和 短路与

长路:&
短路:&&

无论长路与还是短路与
两边的运算单元都是布尔值
都为真时,才为真
任意为假,就为假
区别
长路与 两侧,都会被运算
短路与 只要第一个是false,第二个就不进行运算了

长路或 和 短路或
长路:|
短路:||

无论长路或还是短路或
两边的运算单元都是布尔值
都为假时,才为假
任意为真,就为真
区别
长路或 两侧都会被运算
短路或 只要第一个是true的,第二个就不进行运算了

取反 !
取反 符号:!
真变为假
假变为真

都是布尔值,输出为true或者false

异或 ^
不同,返回真
相同,返回假

代码示例:

public class HelloWorld {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
         
        System.out.println(a^b); //不同返回真
        System.out.println(a^!b); //相同返回假
 
    }
}

位操作
这里的内容对于我们学物联网的是很重要的,在之前的C语言学习中也曾提到过位运算差别不大,指的这个差别是人为在纸上进行操作运算。但是代码不一样

首先就得引用这个方法 Integer.toBinaryString()
其作用就是它的中文意思 一个整数的二进制表达

代码示例:

public class HelloWorld {
    public static void main(String[] args) {
        int i = 5;
        String b = (Integer.toBinaryString(i)); // 5的二进制的表达101
        System.out.println(i+" 的二进制表达是: "+b);
    }
}

操作进行:
不管是位或还是位与操作记住代码格式就行,掌握计算原理就可以在纸上进行运算。

public class HelloWorld {
    public static void main(String[] args) {
         
        int i  =5;
        int j = 6;
         
        System.out.println(Integer.toBinaryString(i)); //5的二进制是101
         
        System.out.println(Integer.toBinaryString(j)); //6的二进制是110
         
        System.out.println(i|j); //所以 5|6 对每一位进行或运算,得到 111->7
 
    }
}

至于异或和取非的操作也是按本来操作符的定义来的

1、
左移:根据一个整数的二进制表达,将其每一位都向左移动,最右边一位补0
右移:根据一个整数的二进制表达,将其每一位都向右移动
2、
带符号右移 >>
对于正数, 带符号右移 >> 会把所有的位右移,并在最前面补0
对于负数, 带符号右移 >> 会把所有的位右移,并在最前面补1
无符号右移>>>
如果是一个负数,那么对应的二进制的第一位是1
无符号右移>>>会把第一位的1也向右移动,导致移动后,第一位变成0
这样就会使得负数在无符号右移后,得到一个正数

简单的说:
带符号右移 >> 移动后正的还是正的,负的还是负的,符号不变
无符号右移>>>移动后,变正的了

对于赋值操作符
记住:赋值操作的操作顺序是从右到左
int i = 5+5;

赋值操作

=
+=
-=
*=
/=
%=
&=
|=
^=
<<=

三元操作符
和C语言中的条件语句的另一种形式类似:

表达式?值1:值2
如果表达式为真 返回值1
如果表达式为假 返回值2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值