java中的|与||,&与&&的区别,与、或,非、异或、位运算

java中的|与||,&与&&的区别,与、或,非、异或、位运算java中的|与||,&与&&的区别,与、或,非、异或、位运算

大家好,又见面了,我是你们的朋友全栈君。

一、java中的|与||,&与&&的区别

其实java中的|与||,&与&&是有区别的,自己调试了下,发现了区别所在具体如下:

if (testA(a)||testA(b))

1、如果是 || 如果testA(b)为true,那么只会执行testA(a)而不执行判断方法testA(b),而 则会将testA(a)和testA(b)都去执行一次。

2、如果是 && 如果testA(b)为false,那么只会执行testA(a)判断方法,而则会将testA(a)和testA(b)都去执行一次。

您可以用debug模式打断点调试下就知道是否执行了判断方法。

二、下面再细讲讲与、或,非、异或、位运算

//移为运算的计算速度快


int a = 4,b = 2;

//1、&=   与运算  二进制中,只有同为1才是1
		a &= b;
		System.out.println("a: "+a);

//2、|=   非运算  二进制中只要一个为1就为1
		a = 4;
		b = 2;
		a |= b;
		System.out.println("a: "+a);

//3、^=   异或运算  二进制中只要是两者的值不一样那么就是1
		a = 4;
		b = 2;
		a ^= b;
		System.out.println("a: "+a);


//4、<<=  移位运算  相当于是a = a * Math.pow(2,b);
		a = 4;
		b = 2;
		a <<= b;
		System.out.println("a: "+a);

//5、>>=   移位运算  相当于是a = a / Math.pow(2,b);
		a = 4;
		b = 2;
		a >>= b;
		System.out.println("a: "+a);

//6、~   非运算  二进制所有的位数取反;
		a = 4;
		b = 2;
		a = ~a;
		b = ~a;
		System.out.println("a: "+a+" b: "+b);

//7、>>>=   移位运算  二进制统一向右移 b位,左边不管是什么都用0代替,这是与 >>的区别;
		a = 4;
		b = 2;
		a >>>= b;
		System.out.println("a: "+a+" b: "+b);
		System.out.println(8>>>1);























版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python编程是啥-Python编程「建议收藏」

    python编程是啥-Python编程「建议收藏」随着人工智能时代的来临,编程语言的热度居高不下,随着智能机器人的出现,在2020年更是迎来一波新的高峰。在这样的大环境下,关于谁是人工智能最流行编程语言的讨论也十分热烈,C、C++、Java、Python等编程语言不断被拿出来做比较。那么接下来,风变编程来解析一波当下编程语言的新趋势。Python受欢迎度有望超越Java?近日,TIOBE编程语言社区公布了2020年10月编程语言排行榜。榜单数据显…

    2022年5月17日
    35
  • MYSQL监控工具–mytop

    MYSQL监控工具–mytop

    2021年10月29日
    44
  • redis info命令详解

    redis info命令详解

    2021年9月14日
    49
  • NSGA-II入门

    NSGA-II入门NSGA-II入门C1觉得有用的话,欢迎一起讨论相互学习~FollowMe参考文献1参考文献2白话多目标多目标中的目标是个瓦特?多目标即是优化问题中的优化目标在3个及以上,一般这些优化的目标都存在着矛盾,例如:我要买一个又便宜又漂亮又性能好的车的时候,价格,外观,性能这就是一个典型的多目标问题,我们必须在商品的价格,外观和性能上做出取舍,毕竟外观漂亮性能强劲的车型往往意味着…

    2022年5月12日
    111
  • 恐怖保姆下载安装汉化版_eclipse汉化不成功怎么办

    恐怖保姆下载安装汉化版_eclipse汉化不成功怎么办eclipse汉化官方汉化包首先,在eclipseIDE中找到’help’,打开’Installnewsoftware…’在点击弹出的新窗口中的Add按钮,Name项任意填Location项是在Eclipse官方的babel语言包project网页上找的,需要自行去查看最新的location查看最新Location方法:https://www.eclipse.org/babel/downloads.php、打开上面网站找到,红框框住的部分,复制地址后,填写到Lo

    2022年5月3日
    62
  • C++操作单链表ListNode「建议收藏」

    C++操作单链表ListNode通过C++进行单链表的创建、打印以及利用栈实现逆序打印。单链表的创建和打印#include&amp;amp;lt;iostream&amp;amp;gt;usingnamespacestd;//定义结构体structListNode{ intval; ListNode*next;};classoperateList{public: /*创建单链表*/ …

    2022年4月7日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号