+求和 -相减 *乘积 /商 %求余数(取模)++自加1 --自减
一个表达式当中有多个运算符,运算符有优先级,不确定的加小括号,提升优先级
>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于
=是赋值运算符,==是关系运算符
关系运算符的运算结果一定是布尔类型:true/false
关系运算符的运算原理
&逻辑与【并且】(两边的算子都是true,结果才是true)
|逻辑或【或者】(两边的算子只要有一个是true,结果才是true)
!逻辑非(取反,!false就是true !true就是false,这是一个单目运算符)
^逻辑异或(两边算子只要不一样,结果就是true)
&&短路与
||短路或
逻辑运算符要求两边的算子都是布尔类型,并且逻辑运算符最终的运算结果也是一个布尔类型
短路与和逻辑与最终的结果是相同的,只不过短路与存在短路现象
短路或和逻辑或最终的结果是相同的,只不过短路或存在短路现象
有一段表达式,因为前半段表达式已经确定了整个表达式的结果,所以后面的表达式没有在执行,这种现象称为短路现象
短路与才会有短路现象,逻辑与是不会存在短路现象的
从某个角度来看,短路与更智能。由于后面的表达式可能不执行。所以执行效率较高。这种方式在实际的开发中使用较多。短路与更常用,但在某些特殊的业务逻辑中,要求运算符两边的算子全部执行,这时候就要用逻辑与
第一个表达式执行结果是true,会发生短路或
第一个表达式执行结果是false,会发生短路或
包括两种:
基本的赋值运算符
=
扩展的赋值运算符
+=【追加/累加】
-=
*=
/=
%=
赋值类的运算符优先级:先执行等号右边的表达式,将执行结果赋值给左边的变量
扩展类的赋值运算符不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么进行追加或追减,最终该变量的数据类型还是byte类型
+运算符在java语言中有两个作用
加法运算,求和
字符串的连接运算
当“+”运算符两边的数据都是数字的话,一定是进行加法运算
当“+”运算符两边的数据只要有一个数据是字符串,一定会进行字符串的连接运算,并且连接运算之后的结果还是一个字符串类型
数字 + 数字 ---> 数字【求和】
数字 +“字符串” --> “字符串”【字符串连接】
在一个表达式可以出现多个“+”,在没有添加小括号的前提下,按从左到右的顺序依次计算
语法规则:布尔表达式?表达式1:表达式2
执行原理:
当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果
当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果
PS:本人java小白,这只是自己学习动力节点老杜视频的笔记,有什么错的,或者过时的地方,请大家指出来,如果看不懂的话可以去b站搜动力节点找老杜的视频,讲的非常全面,谢谢各位宝贵的意见。