Java运算符用于执行各种运算,包括算术运算、比较运算、逻辑运算、位运算、赋值运算以及其他类型的操作。
- 算术运算符
这些运算符用于执行基本的数学运算,如加法、减法、乘法、除法和取余等。
public class ArithmeticOperators {
public static void main(String[] args) {
int a = 10;
int b = 5;
System.out.println("a + b = " + (a + b)); // 加法
System.out.println("a - b = " + (a - b)); // 减法
System.out.println("a * b = " + (a * b)); // 乘法
System.out.println("a / b = " + (a / b)); // 除法
System.out.println("a % b = " + (a % b)); // 取余
System.out.println("a++ = " + (a++)); // 自增
System.out.println("a-- = " + (a--)); // 自减
}
}
- 关系运算符
用于比较两个值之间的关系,返回布尔值(true 或 false)。
public class ComparisonOperators {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("a == b: " + (a == b)); // 等于
System.out.println("a != b: " + (a != b)); // 不等于
System.out.println("a > b: " + (a > b)); // 大于
System.out.println("a < b: " + (a < b)); // 小于
System.out.println("a >= b: " + (a >= b)); // 大于等于
System.out.println("a <= b: " + (a <= b)); // 小于等于
}
}
- 逻辑运算符
用于对布尔值进行逻辑运算,返回布尔值。
public class LogicalOperators {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b: " + (a && b)); // 与
System.out.println("a || b: " + (a || b)); // 或
System.out.println("!a: " + (!a)); // 非
}
}
- 位运算符
位运算符用于对整数的二进制表示进行位级别的操作。
public class BitwiseOperators {
public static void main(String[] args) {
int a = 60; /* 60 = 0011 1100 */
int b = 13; /* 13 = 0000 1101 */
System.out.println("a & b: " + (a & b)); // 与
System.out.println("a | b: " + (a | b)); // 或
System.out.println("a ^ b: " + (a ^ b)); // 异或
System.out.println("~a: " + (~a)); // 取反
System.out.println("a << 2: " + (a << 2)); // 左移
System.out.println("a >> 2: " + (a >> 2)); // 右移
System.out.println("a >>> 2: " + (a >>> 2)); // 无符号右移
}
}
- 赋值运算符
赋值运算符用于为变量赋值。
public class BitwiseOperators {
public static void main(String[] args) {
int num1 = 5; // 二进制: 0101
int num2 = 3; // 二进制: 0011
// 按位与
int bitwiseAnd = num1 & num2;
System.out.println("按位与: " + bitwiseAnd);
// 按位或
int bitwiseOr = num1 | num2;
System.out.println("按位或: " + bitwiseOr);
// 按位异或
int bitwiseXor = num1 ^ num2;
System.out.println("按位异或: " + bitwiseXor);
// 按位取反
int bitwiseNot = ~num1;
System.out.println("按位取反: " + bitwiseNot);
// 左移
int leftShift = num1 << 2;
System.out.println("左移: " + leftShift);
// 右移
int rightShift = num1 >> 1;
System.out.println("右移: " + rightShift);
// 无符号右移
int unsignedRightShift = num1 >>> 1;
System.out.println("无符号右移: " + unsignedRightShift);
}
}
- 条件运算符(三元运算符)
是 Java 中唯一的三目运算符,根据条件的真假返回不同的值。
public class ConditionalOperator {
public static void main(String[] args) {
int score = 80;
String result = (score >= 60) ? "及格" : "不及格";
System.out.println("考试结果: " + result);
}
}
- 其他运算符
instanceof:用于检查对象是否是特定类的实例。
new:用于创建对象的实例。
cast:用于强制类型转换。
class Animal {}
class Dog extends Animal {}
public class OtherOperators {
public static void main(String[] args) {
Dog myDog = new Dog();
System.out.println(myDog instanceof Dog); // true
System.out.println(myDog instanceof Animal); // true
Animal myAnimal = (Animal) myDog; // 强制类型转换
}
}