Java基本运算符
算术运算符: +, -, *, /, %, ++, --
赋值运算符: =
关系运算符: <, >, <=, >=, ==, !=, instanceof
逻辑运算符: &&, ||, !
位运算符: &, |, ^, ~, <<, >>, >>>
条件运算符: ? :
扩展赋值运算符: +=, -=, *=, /=;
System.out.println(2 / 3); // 0
System.out.println(2 / 3.0); // 0.6666666666666666
// % 取模,也是求余数
System.out.println(3 % 2); // 1
System.out.println(2 + 3 + ""); // 5
System.out.println("" + 2 + 3); // 23
Integer i = 2;
System.out.println(2 instanceof int); // 错误 数据类型为基础数据类型不能用instanceof 引用类型才可以
System.out.println(i instanceof Integer);
// 逻辑运算符&&两边只能是boolean类型 位运算符&将数据转化成二进制,进行与操作 逻辑运算符||和位运算符|类型
int a = 3;
int a1 = 7;
System.out.println(a && a1); // 错误
System.out.println(a & a1);// 3
System.out.println(a < a1 && a++ < a1); //true
System.out.println(a < a1 & a++ < a1); //true
System.out.println(true && false);//false
System.out.println(true & false);//false
// && || 短路问题
int b = 4;
System.out.println(b > 4 && b++ > 4); // false
System.out.println(b); // 4
System.out.println(b < 5 || b++ > 4); // true
System.out.println(b); // 4
// ^ 异或 将数据转化成二进制 相同为0 不同为1
System.out.println(4 ^ 5); // 1
// ~ 取反 将数据转化成八位的二进制 1变0 0变1
System.out.println(~1); // -2
// << 有符号左移 >> 有符号右移 >>> 无符号右移 转化成二进制 左移相当于数据*2 右移相当于数据/2
//左移运算符<<: 符号位不变,低位补0
//右移运算符>>:低位溢出,符号位不变,并用符号位补溢出的高位
//无符号右移>>>:高位补0
System.out.println(4 << 1); // 8
System.out.println(4 >> 1); // 2
System.out.println(0b11000000000000000000000000000000 << 1); //-2147483648
System.out.println(0b00000000000000000000000000000011 >> 1); // 1
System.out.println(-1 >> 1); // -1
System.out.println(-1 >>> 1); // 2147483647
// 条件运算符 ? : 会返回一个值
// 条件 ? 符合返回的值 : 不符合返回的值
System.out.println(1 <= 2 ? "否" : "是"); // 否
浙公网安备 33010602011771号