运算符和表达式:
1.运算符:对字面量或者变量进行操作的符号;
2.表达式:用运算符把字面量或者变量连接起来,符合java语法的公式就可以称为表达式;不同运算符连接的表达式体现的是不同类型的表达式
例如: int a = 1;
int b = 11;
int c = a + b;
则 + 是运算符; a+b是表达式
1.基本算数运算符
符号 | |
+ | 加 |
- | 减 |
* | 乘以 |
/ | 除以 |
% | 取余\取模 |
字符串的“+”操作:当“+”操作中出现字符串时,这个"+"是字符串连接符,而不是算数运算符,会将前后的数据进行拼接,生成一个新的字符串;例如:"123" + 123 结果为 "123132"
2. 自增自减运算符
1. 自增:++ 放在某个变量前面或者后面,对变量自身的值加1
2. 自减:-- 放在某个变量前面或者后面。对变量自身的值减1
3. ++ -- 自增 自减只能操作变量,不能操作字面量 例:5++
//自增 自减运算符
int a = 5;
a++;// a = a + 1
++a;// a = a + 1
System.out.println(a); //7
a--; // a = a - 1;
--a; // a = a - 1;
System.out.println(a); //5
4.++ -- 自增 自减如果不是单独使用,放在变量前后会存在区别
4.1 放在变量的前面,先对变量进行+1或-1,再拿变量额值进行运算
例如: int a = 5;
int b = ++a; //(先加再用) 6
4.2 放在变量的后面,先拿变量的值进行运算,在对变量进行+1或者-1
例如: int a = 5;
int b = a++; //(先用再加) 5
3. 赋值运算符
1. = 从右往左看:把 = 右边的数据赋值给左边的变量
2. 扩展赋值运算符
符号 | 用法 | 作用 | 形式 |
+= | a+=b | 加后赋值 | a = (a的类型)(a + b) |
-= | a-=b | 减后赋值 | a = (a的类型)(a - b) |
*= | a*=b | 乘后赋值 | a = (a的类型)(a * b) |
/= | a/=b | 除后赋值 | a = (a的类型)(a / b) |
%= | a%=b | 取余后赋值 | a = (a的类型)(a % b) |
3.扩展的赋值运算符隐含了强制类型转换
4. 关系运算符
符号 | 举例 | 作用 | 结果 |
> | a>b | 判断a是否大于b | 成立返回true,不成立返回false |
>= | a>=b | 判断a是否大于等于b | 成立返回true,不成立返回false |
< | a<b | 判断a是否小于b | 成立返回true,不成立返回false |
<= | a<=b | 判断a是否小于等于b | 成立返回true,不成立返回false |
== | a==b | 判断a是否等于b | 成立返回true,不成立返回false |
!= | a!=b | 判断a是否不等于b | 成立返回true,不成立返回false |
判断数据是否满足条件,返回布尔类型的值 true或者false
5. 逻辑运算符
把多个条件放在一起运算,最终返回true 或 false
符号 | 名称 | ||
& | 逻辑与 | 1<2 & 2<3 | 多个条件必须都是true,结果才是true;有一个是false,结果就是false |
| | 逻辑或 | 1<2 | 2<3 | 多个条件必须有一个true,结果就是true |
! | 逻辑非 | !(1<2) | 取反,!true==false;!false==true |
^ | 逻辑异或 | 1<2 ^ 2<3 | 前后条件的结果相同,返回false;前后条件的结果不同,返回true |
注意: '&' '|' 无论左边是false还是true,右边都要执行完
符号 | 名称 | ||
&& | 短路与 | 1<2 && 2<3 | 左边为false,右边则不执行 |
|| | 短路或 | 1<2 || 2<3 | 左边为true,右边这不执行 |
'&&' '||' 短路原则 效率更高
6.三元运算符
1.格式: 条件表达式 ? 值1 : 值 2
2.执行过程:首先判断条件表达式,如果为true,返回值1,如果为false,返回值2
7. 运算符优先级
优先级 | 运算符 |
1 | ()括号 |
2 | !、~、++、-- |
3 | *、/、% |
4 | +、- |
5 | >>、>>、>>> |
6 | <、<=、>、>=、instanceof |
7 | ==、!= |
8 | & |
9 | ^ |
10 | ! |
11 | && |
12 | || |
13 | ?: |
14 | = 、+=、 -=、*=、/=、%= |