Java学习笔记(3)
运算符(2)
赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 将右操作数的值赋给左侧操作数 |
| += | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 |
| -= | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 |
| *= | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 |
| /= | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 |
| %= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 |
| <<= | 左移位赋值运算符 |
| >>= | 右移位赋值运算符 |
| &= | 按位与赋值运算符 |
| ^= | 按位异或赋值操作符 |
| |= | 按位或赋值操作符 |
例如
public class Test06 {
public static void main(String[] args) {
int a = 7;
int b = 9;
int c;
c = a+b;
System.out.println("c = a+b =" + c);
c += a;
System.out.println("c += a =" + c);
c -= a;
System.out.println("c -= a =" + c);
c *= a;
System.out.println("c *= a =" + c);
c /= a;
System.out.println("c /= a =" + c);
c %= a;
System.out.println("c %= a =" + c);
c <<= a;
System.out.println("c <<= a =" + c);
c >>= a;
System.out.println("c >>= a =" + c);
c &= a;
System.out.println("c &= a =" + c);
c ^= a;
System.out.println("c ^= a =" + c);
c |= a;
System.out.println("c |= a =" + c);
}
}
运行结果如下
c = a+b =16
c += a =23
c -= a =16
c *= a =112
c /= a =16
c %= a =2
c <<= a =256
c >>= a =2
c &= a =2
c ^= a =5
c |= a =7
解析
c = a+b =16将a+b的值赋给cc += a =23等价于c = c+ac -= a =16等价于c = c-ac *= a =16等价于c = c*ac /= a =16等价于c = c/ac %= a =16等价于c = c%ac <<= a =16等价于c = c<<ac >>= a =16等价于c = c>>ac &= a =16等价于c = c&ac ^= a =16等价于c = c^ac |= a =16等价于c = c|a
条件运算符
variable x = (expression) ? value if true : value if false
例如
public class Test07 {
public static void main(String[] args) {
int score = 70;
//如果score >= 60成立,则grade为及格,否则为不及格
String grade = (score >= 60) ? "及格":"不及格";
System.out.println("grade = " + grade);
int a = 7;
int b = 9;
int c;
//如果 a>b 成立,则c=11,否则c=22
c = (a > b) ? 11 : 22;
System.out.println("Value of c =" + c);
}
}
运行结果如下
grade = 及格
Value of c =22
运算符优先级
下表中优先级上行优先于下行
| 运算符说明 | Java运算符 |
|---|---|
| 分隔符 | . [] () {} , ; |
| 单元运算符 | ++ -- ~ ! |
| 强制类型转换运算符 | (type) |
| 乘法、除法、求余 | * / % |
| 加法、减法 | + - |
| 移位运算符 | << >> >>> |
| 关系运算符 | < <= > >= instanceof |
| 等价运算符 | == != |
| 换位与 | & |
| 换位异或 | ^ |
| 换位或 | | |
| 条件与 | && |
| 条件或 | || |
| 条件运算符 | ?: |
| 赋值运算符 | = += -= *= /= &= |= ^= %= <<= >>= >>>= |

浙公网安备 33010602011771号