算数运算符的基本用法
运算符 | 运算 | 示例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- | 负号 | b=3;-b | -3 |
+ | 加 | 5+5 | 10 |
- | 减 | 7-5 | 2 |
* | 乘 | 2*4 | 8 |
/ | 除 | 9/6 | 1 |
% | 取模(取余数) | 9%6 | 3 |
++ | 自增(前) | a=2;b=++a | a=3;b=3 |
++ | 自增(后) | a=2;b=a++ | a=3;b=2 |
– | 自减(前) | a=2;b=–a | a=1;b=1 |
– | 自减(后) | a=2;b=a– | a=1;b=2 |
在进行除法运算时,0不能做除数。例如,对于语句“ inta = 5/0;”,系统会抛出ArithmeticException异常
赋值运算符的基本用法
运算符 | 运算 | 示例 | 结果 |
---|---|---|---|
= | 赋值 | a=3;b=2 | a=3;b=2 |
+= | 加等 | a=3;b=2;a+=b | a=5;b=2 |
-= | 减等 | a=3;b=2;a-=b | a=1;b=2 |
*= | 乘等 | a=3;b=2;a*=b | a=6;b=2 |
/= | 除等 | a=3;b=2;a/=b | a=1;b=2 |
%= | 模等 | a=3;b=2;a%=b | a=1;b=2 |
比较运算符的基本用法
运算符 | 运算 | 示例 | 结果 |
---|---|---|---|
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
> | 大于 | 4>3 | true |
<= | 小于等于 | 4<=3 | false |
>= | 大于等于 | 4>=3 | true |
注意:
- != 和 == 比较基本数据类型,比较的是内存中常量池中对应常量的地址
- < > >= <= 比较基本数据类型,比较的也是地址,常量值偏大的话,它的地址也偏大 ; 引用数据类型不能进行大小比较
逻辑运算符
运算符 | 运算 | 示例 | 结果 | 总结 |
---|---|---|---|---|
& | 与 | true&false | false | 全为true时,结果为true |
I | 或 | true I false | ture | 全为false时,为false |
^ | 异或 | true^false | true | 左右两边不同时为true |
&& | 短路与 | true&&false | false | 全为true时,结果为true |
II | 短路或 | true II false | true | 全为false时,结果为false |
! | 非 | !true | false | 相反 |
需注意以下细节:
- 逻辑运算符可以针对结果为布尔值的表达式进行运算。
- 在使用&进行运算时,不论左边为true或false,右边的表达式都会进行运算
- 在使用&&进行运算时,当左边为false时,右边的表达式不会进行运算,因此&&被称为短路与
位运算符的基本用法
二进制的基础上位运算
运算符 | 运算 | 示例 | 结果 | 总结 |
---|---|---|---|---|
& | 按位与 | 0&1 | 0 | 全为1时,结果为1,否则为0 |
I | 按位或 | 0 I 1 | 1 | 全为0时,结果为0,否则为1 |
^ | 按位异或 | 0^1 | 1 | 相同时为0;不同时为1 |
~ | 取反 | ~0 | 1 | 0变1,1变0 |
<< | 左移 | 10010011<<2 | 01001100 | |
>> | 右移 | 01100010>>2 | 00011000 | |
>>> | 无符号右移 | 01100010>>>2 | 00011000 |
三元运算符的基本用法
数据类型 变量名 = 布尔表达式?值1:值2;
三元运算符的运算规则为:若条件式的值为true,则整个表达式取值1,否则取值2
注意事项:
三元运算符的操作都可以使用if语句改进,反之不成立
运算符优先级
运算符的优先级决定了表达式种运算执行的先后顺序,通常优先级由高到低的顺序依次是:
- 增量和减量运算
- 算数运算
- 比较运算
- 逻辑运算
- 赋值运算
如果两个运算有相同的优先级,那么左边的表达式要比右边的表达式先被处理。
在编写程序时尽量使用括号“()‘运算符来限定运算次序,以免产生错误的运算顺序