JAVA位运算符

如题所述

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。

1.与运算符
与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果
a 和b 与的结果是:128
下面分析这个程序:
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。

2.或运算符
或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
下面分析这个程序段:
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。

3.非运算符
非运算符用符号“~”表示,其运算规律如下:
如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}

4.异或运算符
异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
分析上面的程序段:a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。
温馨提示:内容为网友见解,仅供参考
无其他回答

求:JAVA中常用位运算符及其用法详解
int z = x&y \/\/z等于二进制数的01000000 即运算结果为z等于二进制数01000000。位或、位非、位异或的运算方法类同。(2)右移是将一个二进制数按指定移动的位数向右移位,移掉的被丢弃,左边移进的部分或者补0(当该数为正时),或者补1(当该数为负时)。这是因为整数在机器内部采用补码...

JAVA位运算符
位操作符来源于 C 语言面向底层的操作,那时我们经常需要直接操纵硬件,设置硬件寄存器内的二进制位。Java的设计初衷是嵌入电视机顶盒内,所以这种低级操作仍被保留了下来。但是,我们可能不会过多地使用到位运算符。 如果两个输入位都是 1,则按位“与”操作符(&)生成一个输出位 1;否则生成一个输出位0。如果两个...

脚本语言系列之Java | Java中的运算符
逻辑运算符用于连接布尔表达式,包括`&&`(与运算)、`||`(或运算)和`!`(非运算)。例如:`boolean condition1 = true, condition2 = false; boolean isTrue = condition1 && condition2;`,这将创建一个布尔变量`isTrue`并赋值为`false`。位运算符用于在二进制级别操作变量。它们包括位与、...

JAVA位运算怎么用的???
Java 位运算 Java 位运算[转]一,Java 位运算1.表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的符号位为0,负数为1。补码的表示需要满足如下要求。 (l)正数的最高位为0,其余各位代表数值本身(二进制数)。 (2)对于负数,通过对该数绝对值的补码按位取反,再对...

java中String中的\\b表示什么?
&是位操作符,“按位与”;1转成二进制01;2转成二进制10;a&b=00转成十进制为0。位运算符有:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)。优先级从高到低,依次为~、&、^、|。String表示字符串类型,用String申明一个变量,这个变量就可以引用String类型的数据。String[]表示你...

你也太捞了吧!Java的五种运算符 还不知道?盘它!
比较运算符:==、!=、>、=、<=,Java中使用 == 表示变量内容相等。逻辑运算符:&、|、!、^、&&、||。其中&表示逻辑与,|表示逻辑或,!表示逻辑非,^表示逻辑异或,&&和||表示逻辑与和或,具有短路操作特性。位运算符包括:&、|、~、^、>>、>>>、<<。这些运算符在二进制中进行操作,遵循...

Java基础知识之运算符和输入输出
例如:==、!=、>、=、<=等,用于比较两个值。6. 位运算符 例如:&(按位与)、|(按位或)、^(按位异或)等,用于处理二进制位。二、输入输出 1. 输入 Java中的输入主要使用Scanner类实现,通过next()和nextLine()方法获取输入。next()方法用于获取单个单词(不包括空格)的输入。nextLine()...

java中位运算符,(byte) 0x80 的那个,为何答案是-32
byte 共有 8 位,表示范围是 -128 ~ 127,二进制即 10000000 ~ 01111111,第一位为符号位,1 表示负数,0 表示整数,11111111 即表示 -127,10000000 比较特殊,表示 -128。所以,0x80 本来是整数的 128,二进制 00000000000000000000000010000000 (Java 中整数4个字节32位)。(byte)0x80,将其转换...

java 这个符号^ 什么意思 应该是运算符吧
在java中是位运算符的一种 ^:位异或运算:两个数转为二进制,然后从高位开始比较,如果相同则为0,不相同则为1。位同或运算:两个数转为二进制,然后从高位开始比较,如果相同则为1,不相同则为0。java中并没有同或运算符,可以通过异或转换得到。同或运算 = 异或运算 ^ 1 ...

JAVA位运算符
1.与运算符 与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class data13 { public static void main(String[] args){ int a=129;int b=128;System.out.println("a 和b 与的结果是:"+(a&b));} } 运行结果 a ...

相似回答
大家正在搜