运算符与表达式
学习算术、关系、逻辑、位运算、三元运算符
运算符与表达式
Java 的运算符和大多数 C 系语言类似,但有一些细节需要注意。
学完本章你将: 掌握算术、关系、逻辑、位运算。
算术运算符
java
int a = 10, b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3(整数除法截断)
System.out.println(a % b); // 1(取余)
// 自增自减
int x = 5;
System.out.println(x++); // 5(先取值后加)
System.out.println(++x); // 7(先加后取值)
System.out.println(x--); // 7
关系与逻辑运算符
java
// 关系运算
System.out.println(5 > 3); // true
System.out.println(5 == 5); // true
System.out.println(5 != 3); // true
// 逻辑运算
boolean a = true, b = false;
System.out.println(a && b); // false(短路与)
System.out.println(a || b); // true(短路或)
System.out.println(!a); // false
// 字符串比较 —— 必须用 equals()
String s1 = "hello";
String s2 = new String("hello");
System.out.println(s1 == s2); // false!
System.out.println(s1.equals(s2)); // true ✅
位运算
java
int a = 0b1100; // 12
int b = 0b1010; // 10
System.out.println(a & b); // 8 (1000) 按位与
System.out.println(a | b); // 14 (1110) 按位或
System.out.println(a ^ b); // 6 (0110) 按位异或
System.out.println(~a); // -13 按位取反
System.out.println(a << 1); // 24 左移(乘2)
System.out.println(a >> 1); // 6 右移(除2)
三元运算符
java
int score = 85;
String grade = score >= 90 ? "A" :
score >= 80 ? "B" :
score >= 60 ? "C" : "D";
System.out.println(grade); // "B"
// 简洁的赋值
int max = a > b ? a : b;