文章目录
一、算术运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
+ | 正号 | +3 | 3 |
- |负号| b=4; -b| -4|
+| 加 |5+5| 10 - |减 |6-4| 2
- |乘| 3*4 |12
/ |除 |5/5| 1
% |取模(取余)| 7%5 |2
a++|自增(前):先运算后取值|a=2;b=++a;
|a=3;b=3
++a|自增(后):先取值后运算|a=2;b=a++;
|a=3;b=2
a- -|自减(前):先运算后取值|a=2;b=--a;
|a=1;b=1
- -a|自减(后):先取值后运算|
a=2;b=a--;
|a=1;b=2
+| 字符串连接|“He”+”llo”
|“Hello”
1. 除法注意事项
整数之间做除法时,只保留整数部分 而舍弃小数部分。
2. 取余注意事项
取余运算中,结果的符号与被模数的符号相同。
3. ++ 和 - -
- 自增或自减,不会改变变量本身的数据类型
(1)++
- 前 ++ :先自增1,后运算
- 后 ++ :先运算,后自增1
(2)- -
- 前 - - :先自减1,后运算
- 后 - - :先运算,后自减1
4. 连接符 +
- 只能使用在 String 与其他数据类型变量之间使用。
- 把非字符串转换成字符串。
二、赋值运算符
1. =
=
:当 “=” 两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。 支持连续赋值。
int i1;
int j1;
i1 = j1 = 10; \\ 连续赋值
2. 扩展赋值运算符
- 扩展赋值运算符:
+=, -=, *=, /=, %=
扩展赋值运算符不会改变变量本身的数据类型
public class HelloWorld {
public static void main(String[] args) {
// 希望变量实现 +2 操作
int num1 = 10;
num1 = num1 + 2; // 方法一:会改变数据类型
num1 += 2; // 方法二:推荐
// 如果希望实现 +1 操作
num1 = num1 + 1; // 方法一
num1 += 1; // 方法二
num1++; // 方法三:推荐
}
三、比较运算符
运算符 | 运算 | 范例 | 结果 |
---|---|---|---|
== | 相等于 | 4==3 | false |
!= | 不等于 | 4!=3 | true |
< | 小于 | 4<3 | false |
| 大于| 4>3 |true
<= |小于等于| 4<=3 |false
= |大于等于| 4>=3| true
instanceof |检查是否是类的对象| “Hello” instanceof String| true
- 比较运算符的结果是 Boolean类型
> < >= <=
: 只能使用在数据类型的数据之间。== !=
:不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。
四、逻辑运算符
& — 逻辑与
| — 逻辑或
!—逻辑非
&& —短路与
|| —短路或
^ —逻辑异或
五、位运算符
只能对数值进行位运算。
运算符 | 运算 |
---|---|
<< | 左移 |
>> | 右移 |
>>> | 无符号右移 |
& | 与运算 |
| | 或运算 |
^ | 异或运算 |
~ | 取反运算 |
六、三元运算符
格式:(条件表达式)?表达式 1:表达式 2
- 表达式1 和表达式2 为同种类型
- 要求必须返回一个结果
public class SanYuan {
public static void main(String[] args) {
System.out.println("Hello");
int m = 12;
int n = 5;
int maxNum = (m > n) ? m : n;
System.out.println(maxNum);
double num = (m > n) ? 2.0 : 1;
System.out.println(num);
}
}