在上面的代码中,如果年龄大于等于18或者是学生,条件表达式就会返回真,输出"你是成年人或学生"。否则,输出"你既不是成年人也不是学生"。 非(!)逻辑符号 在Java中,非逻辑符号(!)用于取反一个条件的结果。当使用非逻辑符号时,如果一个条件为真,则取反后为假;如果一个条件为假,则取反后为真。 下面是一个使...
>>>(无符号右移运算) <<< (无此表示符) |(或运算符) 只要有一个1,则结果中该位为1,否则为0。 比如:1000 | 101 = 1101 . 下面是一些java代码举例。 | 二进制运算规则和对应的十进制 对于代码中的布尔类型运算,则表示两边有一个为true则结果为true,需要注意的是,运算符两边都会计算的。即使 | 前面...
public static void main(String[] args) {long l = 100L;//如果不是最大值 前面都是0 输出的时候就不会有那么长了(所以下面使用最大/最小值示例)System.out.println(Long.toBinaryString(l)); //1100100System.out.println(Long.toBinaryString(l).length()); //7System.out.println("---");l =...
public static void main(String[] args) {// 2 -> 10(其实是00000000000000000000000000000010 共32位)// 非后结果: 11111111111111111111111111111101 共32位System.out.println(Integer.toBinaryString(~2));} 可以看到取非的结果像是“面目全非”的赶脚,因此使用时需要谨慎。 ^:按位异或 操作规则:操作数不同时(...
7、>>>二进制无符号右移 >>>与>>唯一的不同是它无论原来的最左边是什么数,统统都用0填充。 12>>>20B1100>>>2=>0B0011=>3-12>>>2=0B10000000000000000000000000001100原码=>0B11111111111111111111111111110011反码=>0B11111111111111111111111111110100补码>>>2=0B00111111111111111111111111111101=1073741821 ...
Java中的位运算 Java语言支持的位运算符还是非常多的,列出如下: &:按位与。 |:按位或。 ~:按位非。 ^:按位异或。 <<:左位移运算符。 >>:右位移运算符。 >>>:无符号右移运算符。 除~以外,其余均为二元运算符,操作的数据只能是整型(长短均可)/字符型。
Java中与或非逻辑符号优先级 在Java中,逻辑运算符用于处理和操作布尔类型的变量。常见的逻辑运算符包括与(&&)、或(||)和非(!)。了解这些逻辑运算符的优先级非常重要,以确保正确地使用它们。 与(&&)运算符 与运算符用于将两个条件连接在一起,并且只有在两个条件都为真时,整个表达式才为真。与运算符的优先级...
简介:聊聊Java中的位运算:与、或、非、异或、左移、右移、无符号右移【小家Java】(下) 原理介绍 此流水号构成:日期+Long类型的值 组成的一个一长串数字,形如2020010419492195304210432。很显然前面是日期数据,后面的一长串就蕴含了不少的含义:当前秒数、商家ID(也可以是你其余的业务数据)、机器ID、一串随机码等...
Java中与或非的逻辑符号 java里面的与或非 7.1 封装介绍 封装(encapsulation)就是把抽象出来的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(方法),才能对数据进行操作。 比如电视就是典型的封装,我们开关电视只需要按遥控器的开关按钮就行了,我们并不需要直到...
简介:Java中二进制计算与&、或|、非~、异或^、左移<<、右移>>、无符号右移>>> 1、&二进制与 2 & 30B10 & 0B11 => 0B10 => 2 2、|二进制或 2 | 30B10 & 0B11 => 0B11 => 3 3、~二进制非 ~3= ~ 0B00000000 00000000 00000000 00000011= 0B11111111 11111111 11111111 11111100取反之...