逻辑运算符

xiaoxiao2021-02-28  50

研究问题:

&与&&,|与||区别位异或^左移<<、右移>>

要点:

&与|无论如何都会判断条件两边,&&与||在左条件不成立时就结束判断位异或:相同则0,相异则1.a<

截图展示区:

1. class OperatorDemo3{ public static void main(String[] args){ int a=10; int b=20; a=a^b; b=a^b;//即a^b^b==a a=a^b;//a^b^b=a^b^a==b System.out.println("a:"+a+"\tb:"+b); } }

上图: 2.

package com.java.WeiCalc; /* 位运算符: &,|,^,~ <<,>>,>>> 注意: 要做位运算,首先要把数据转换为二进制。 */ /*&位与:有0则0 * |位或:有1则1 *^位异或:同则0,异则1 *~按位取反. */ class OperatorDemo2 { public static void main(String[] args) { //&,|,^,~ int a = 3; int b = 4; System.out.println(3 & 4); System.out.println(3 | 4); System.out.println(3 ^ 4); System.out.println(~3); } } /* 分析:因为是位运算,所以我们必须先把数据换算成二进制。 3的二进制:11 00000000 00000000 00000000 00000011 4的二进制:100 00000000 00000000 00000000 00000100 &位与运算:有0则0。 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100 ----------------------------------- 00000000 00000000 00000000 00000000 结果是:0 |位或运算:有1则1。 00000000 00000000 00000000 00000011 |00000000 00000000 00000000 00000100 ----------------------------------- 00000000 00000000 00000000 00000111 结果是:7 ^位异或运算:相同则0,不同则1。 00000000 00000000 00000000 00000011 &00000000 00000000 00000000 00000100 ----------------------------------- 00000000 00000000 00000000 00000111 结果是:7 ~按位取反运算符:0变1,1变0 00000000 00000000 00000000 00000011 ~11111111 11111111 11111111 11111100 (补码) 补码:11111111 11111111 11111111 11111100 反码:11111111 11111111 11111111 11111011 原码:10000000 00000000 00000000 00000100 结果是:-4 */

上图:

转载请注明原文地址: https://www.6miu.com/read-2625014.html

最新回复(0)