int a = 5;
int b = 3;
int sum = a + b; // 结果为8
int c = a - b; // 结果为2
int d = a * b; // 结果为15
double e = a / (double) b; // 强制转换其中一个为double以得到精确除法结果
int remainder = a % b; // 结果为2
int x;
x = 10;
int y = 5;
y += a; // 相当于 y = y + a;
boolean equal = a == b; // false
boolean notEqual = a != b; // true
boolean lessThan = a < b; // false
boolean greaterThan = a > b; // true
boolean lessThanOrEqual = a <= b; // false
boolean greaterThanOrEqual = a >= b; // true
boolean condition1 = true;
boolean condition2 = false;
boolean andResult = condition1 && condition2; // false
boolean orResult = condition1 || condition2; // true
boolean notResult = !condition1; // false
int bitA = 6; // 十进制表示为 0b0110
int bitB = 3; // 十进制表示为 0b0011
int bitwiseAnd = bitA & bitB; // 结果为 2 (0b0010)
int bitwiseOr = bitA | bitB; // 结果为 7 (0b0111)
int bitwiseXor = bitA ^ bitB; // 结果为 5 (0b0101)
int bitwiseNot = ~bitA; // 结果为 -7 (-0b1001)
int leftShift = bitA << 1; // 结果为 12 (0b1100)
int rightShiftSigned = bitA >> 1; // 结果为 3 (0b0011)
int rightShiftUnsigned = bitA >>> 1; // 结果为 3 (0b0011),高位补零
int max = a > b ? a : b; // 如果a大于b,则max为a,否则为b
图1
图2
运算符有不同的优先级。当表达式包含多个运算符时,优先级较高的运算符会先执行。以下是一份大致的Java运算符优先级列表(从高到低)
注意:如果两个运算符具有相同的优先级,那么它们将按照从左到右的顺序结合(称为“关联性”)。若要改变运算顺序,可以使用圆括号明确指定优先级。
例如,在表达式 a + b * c 中,因为乘法 (*) 的优先级高于加法 (+),所以会先计算 b * c 再加上 a。如果需要先进行加法运算,应写成 (a + b) * c。
圆括号 ():括号内的表达式总是最先执行。
一元运算符:
乘法与除法运算符:
加法与减法运算符:
移位运算符:
关系运算符:
等于性运算符:
位运算符:
按位异或运算符:
位运算符:
逻辑与运算符:
逻辑或运算符:
条件运算符(三元运算符):
赋值运算符:
逗号运算符: