七、运算符
目录
1、算数运算符
包括+(加)、-(减)、*(乘)、/(除)、%(取余)。
浮点数的精度问题:在进行小数运算时会产生误差,例如:
可以看见得出的结果并非0.3而是0.3000...0004,原因为当计算机要将小数转换为二进制进行运算,于是产生了误差。所以尽量避免用浮点数直接参与运算,同时也不能将浮点数相比较。
表达式和返回值:按正常运算来讲是1+1=2,返回值通俗解释就是2=1+1,即将右边1+1表达式的值返回至左边。
2、递增和递减运算符
利用递增(++)或递减(--)来反复地给数字变量添加或减去1。(必须和变量配合使用)
前、后置递增运算符:前置递增运算符(++p)为先自加后返回值,后置递增运算符(--p)为先返回原值后自加。两者如果单独使用效果是一样的,与其他代码联用时结果会不同。
前、后置递减运算符同递增运算符,即--p为先自加后返回值,p--为先返回原值后自加。
3、比较运算符
对两个数据进行比较最后返回一个布尔值作为运算结果。
其中要特别注意:
- 判等号(==)会有隐式转换,即会自动转换变量类型,会把字符串型地数据转换为数字型。如下:
- 全等要求值以及数据类型都一致。此时无法像判等号一样自动转换类型,即上面样例中的第二个例子返回的结果为false。
4、逻辑运算符
用来进行布尔值运算,返回值也为布尔值,经常用于多个条件的判断。
逻辑与&&两侧都为真结果才为真,逻辑或||两侧都为假结果才为假,逻辑非!结果取反。
5、短路运算(逻辑中断)
短路运算的原理
当有多个表达式(值)时,如果左边的表达式(值)可以确定结果时,就不再继续运算右边表达式的值。
逻辑与短路运算
- 表达式1 && 表达式2
- 若表达式1的值为真,返回表达式2
- 若表达式1的值为假,返回表达式1
逻辑或短路运算
与逻辑与短路运算结果相反。
样例:
此时num输出的值为0,由于123为真则右边不执行。
6、赋值运算符
7、运算符优先级
- 逻辑非优先级很高
- 先与后非