时间:2021-05-19
Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类型是char、byte或者short类型的数值进行移位处理,那么会转化成int类型,再进行移位的处理
Java的按位操作符
按位操作符会对两个参数对应的位执行布尔代数运算,并最终生成一个结果。这个操作符有与(&)、非(~)、或(|)、异或(^)。我们知道单位“比特”(bit),即代进制位,都是0和1,异或(^)可能比较复杂点,两个操作数的位中,相同则结果为0,不同则结果为1。那么最基本的逻辑就像下面这个样子。
1&1 → 11&0 → 0~1 → 0~0 → 11|1 → 11|0 → 11^0 → 1 (1为01,0为00,那么结果就是01,还是1)1^1 → 0Java的移位操作符
Java的移位操作符无非就是对二进制进行位移。
进行<<就是左移,也就是所有所有二进制往左边移动一个位,0010 0000 << 1 等于0100 0000
进行>>右移,也就是所有所有二进制往右边移动一个位,0010 0000 >> 1 等于0001 0000 。
可以试试下面的例子,整数型的也是变成二进制来计算:
class Test{ public static void main(String[] args){ int numInt1 = 3; int numInt2 = -3; System.out.println(numInt1<<1); System.out.println(numInt1>>1);System.out.println(numInt2<<1); System.out.println(numInt2>>1); } }上面这段代码也可以用if-else来实现,当然,有部分人认为if-else可以让代码看起来逻辑更加清晰。但是用三元表达式显得代码更加简洁。
总结
以上所述是小编给大家介绍的Java的位操作符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数
学习目录一、数据类型数据类型二、操作符递增和递减操作符:位操作符:布尔操作符:加性操作符:相等操作符三、语句for-in语句label语句一、数据类型数据类型基
Java中“==”与equals()的区别 对于关系操作符“==”,《Java编程思想》中是这样描述的:“关系操作符生成的是一个boolean结果,它们计算的是
位操作符是对数据按二进制位进行运算的操作符。C#位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下
Java的位操作符用来操作整数基本数据类型中的单个“比特”(bit),即代进制位。而我们知道比特就是0和1,那么,位操作就是对这些数据进行基本的操作。如果基本类