运算符
初识运算符
什么是运算符
变量进行运算时,所用到的符号就是运算符。
运算符的分类
-
算术运算符
-
+ - * / %(求余数,取模) ++ --
赋值运算符
-
= += -= *= /=
关系运算符
-
> >= < <= == !=
逻辑运算符
-
&& || !
三目运算符
-
? :
算术运算符
算术运算符的作用
用于完成变量的加、减、乘、除、取余、运算的。
算术运算符分类
- +(加号)
操作数是指运算符号两边的数据
拓展:还可用于拼接操作
- -(减号)
- *(乘法)
- /(除法)
- %(取余)
- ++(自增运算符)
表示自身加1
int a = 5;
int b = ++a + 1;// a = 6, b = 7
-
前置++:将++编写在变量名称前面;先自身加1,然后再做其他运算
-
int a = 5; int b = ++a * 2; //a = 6 b = 12
后置++:将++编写在变量名称后面;先做其他运算,然后再自身加1 int x = 10; int y = x++ * 3; //x =11 y = 30
- - -(自减运算符)
表示自减1
int a = 5;
int b = --a + 1;// a = 4, b = 5
- 前置–:将–编写在变量名称前面;先自身减1,然后再做其他运算
int a = 5;
int b = --a * 2; //a = 4 b = 8 - 后置–:将–编写在变量名称后面;先做其他运算,然后再自身减1
int x = 10;
int y = x-- * 3; //x = 9 y = 30
赋值运算符
赋值运算符的作用
用于完成变量赋值的。
赋值运算符号的分类
=
将等号右侧的值赋给等号左侧的变量名称
比如:int a = 18;
扩展赋值运算符
+= 、 -= 、 *= 、 /= 、 %=
在Java中,使用扩展赋值运算符时,右侧的值不会改变左侧的数据类型,并且不会进行四舍五入。
关系运算符
关系运算符的作用
用于变量(表达式)之间进行关系比较的。
关系运算符的分类
> 、>= 、<、 <= 、== 、!=
当条件成立时(满足条件时),则结果为true,否则为false
true表示真的、正确的,成立的
false表示假的、错误的,不成立的
逻辑运算符号
逻辑运算符的作用
用于连接关系表达式的。
逻辑运算符的分类
逻辑与& 、 逻辑或| 、逻辑非! 、 短路与&& 、 短路或|| 、 逻辑与&
表示并且、同时
当两个条件都为true,则结果为true,否则为false
逻辑或|
表示或者
当有一个条件为true,则结果为true,否则为false
逻辑非!
其实也就是:只对true或者false值进行取反
短路与&&
类似于逻辑与,都表示并且、同时
1.使用短路与和逻辑与的执行结果都一样
2.短路与和逻辑与都表示并且、同时,也就是左右两边的条件都满足(成立)时,结果为true,否则为false
3.当使用短路与时,执行过程可能不同
原因:左边也就是第一个条件为false,则结果直接为false
4.因此得到:当使用短路与时,执行速度相对更快或者执行效率更高
5.建议:使用短路与&&
短路或||
类似于逻辑或,都表示或者
1.使用短路或和逻辑或的执行结果都一样
2.都表示或者
3.当使用短路或时,执行过程可能不同
当左边的条件也就是第一个条件为true,则结果直接为true
4.因此得到:当使用短路或时,执行速度相对更快或者执行效率更高
5.建议:使用短路或
三目运算符号
什么是三目运算符
三目运算符的执行流程
先判断条件,如果条件为true,则执行结果1,否则执行结果2
三目运算符也叫做条件运算符,用于完成条件判断的。
三目运算符的执行流程:先判断条件,如果条件为true,则执行?后的结果1,否则执行:后面的结果2。
当是二选一时,则就可以直接使用三目运算符
当使用多选一时,则就使用三目嵌套完成
运算符的优先级
什么是运算符号的优先级别
先加减,后乘除,按照运算符号的先后,使用小括号组织运算符进行运算的方式就可以称之为运算符号的优先级别
运算符号优先级别的顺序排布
下表中具有最高优先级的运算符在表的最上面,最低优先级在表的底部。