运算符
一:概念
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
- 运算符一般有:
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符
二:算术运算符
1.概念
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8TykQ0pk-1619189434361)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzHZQSjwygLOs0QZ41CBEBpQgwst48TJNW8PlINE3dSibvUSZsQIiw5ievivAzSjww!!/m&ek=1&kp=1&pt=0&bo=GAT8ARgE*AERADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
2.正、负、加、减、乘
- 略
3.除
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2kFJMj1-1619189434363)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzLWA.ghMRwaRYHrf413FkEUWeVyyQeYmZpde.Oz86xFEk.2ukEXK4w.NUS3kWks90Q!!/m&ek=1&kp=1&pt=0&bo=swIvArMCLwIRADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
4.取余
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MUYHxFQw-1619189434364)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzMaztfSUlgWVag1CShlRpeLRDwtBaZtBtHgtZxQf8cRCrsjrBiBxSIMFc11lnbLGaw!!/m&ek=1&kp=1&pt=0&bo=lQI9ApUCPQIRADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
5.前(++)、后(++)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Mlaf4fz-1619189434365)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzKD8X7dVmDS9tTPyrPuvM5tiB3i75v76acg3ualm0NqnvRkmu8219JKUgbrOSHkaxA!!/c&ek=1&kp=1&pt=0&bo=2QJoAtkCaAIRADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
6.前(–)、后(–)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ibwSPlox-1619189434366)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzFrSpMXglaYjxzUcATtDM6y0RY8v6j2SqxIQjg0IPcfolwwYZvxBzR.O9KDCD.eSw!!/c&ek=1&kp=1&pt=0&bo=.gLoAPoC6AARADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
7.连接
- 略
8.(示例)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9XuZE0fe-1619189434367)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzKpF5F5yTfTpKU8b5DkQn5EcQISVQVQixb7oQzuO6nIWKLDmwi4zrGVU*p26QxJnw!!/c&ek=1&kp=1&pt=0&bo=qAP6AagD.gERADc!&tl=1&tm=1619092800&sce=0-12-12&rf=0-18)]
三:赋值运算符
1.概念
- 符号:=
- 当“=”两侧数据不一致时,可以使用自动类型转换或使用强制类型转换原则处理
- 支持连续赋值
- 其他符号:+=、-=、=、/=* 、%=
2.赋值符号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DLXBmbd-1619189434368)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzN8uR0N3Og0XJcM4.425JwXMlUkdLL6YjuOlavsqPjKaiPGt0.wFqPEvAxvOWPTMQ!!/c&ek=1&kp=1&pt=0&bo=5wE7AecBOwERADc!&tl=1&tm=1619096400&sce=0-12-12&rf=0-18)]
3.其他符号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xzciPw4-1619189434369)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzKJpXYrnq6h24qgR7Bx3ljIMJK5BJRlXNZ59lDGUXfe.1BNsSW76GhdmkEx9dsevsA!!/b&ek=1&kp=1&pt=0&bo=oQKbAaECmwERADc!&tl=1&tm=1619096400&sce=0-12-12&rf=0-18)]
4.扩展
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LyFMBVHY-1619189434369)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzPYuxtkPtgxAqoiN.tNt3b3YCKk7GIbrVH4hUdsxERiUjvfDXnmpZdhnLDNAnL6XaQ!!/c&ek=1&kp=1&pt=0&bo=cAQkAXAEJAERADc!&tl=1&tm=1619096400&sce=0-12-12&rf=0-18)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dh5EMf04-1619189434369)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzGKzBwSSDfB5Qgsi2RLQFNsIcMyVyODkYQXSin54N0y.hZb6Q8GmykeeT.xUCgaU.w!!/c&ek=1&kp=1&pt=0&bo=aQNQAmkDUAIRADc!&tl=1&tm=1619096400&sce=0-12-12&rf=0-18)]
四:比较运算符
- 比较运算符的结果都是boolean型,也就是说要么是true,要么是false
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YpWfj5WL-1619189434370)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzHfDAzaeHlR5pbLUUFYGZ.ZqOMraFYqy31vyDjqeOgYgo.dqTKPOh7av3pQtU4Qytw!!/c&ek=1&kp=1&pt=0&bo=agTPAWoEzwERADc!&tl=1&tm=1619179200&sce=0-12-12&rf=0-18)]
五:逻辑运算符
1.概念
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9hBB8uPN-1619189434370)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzAy8CMnIXxUGBCqhsoKnC6b5HH42WIX3Gt04rpZro5VqhuaSvzVLgXCQJ0vogI8NA!!/c&ek=1&kp=1&pt=0&bo=GgQYAhoEGAIRADc!&tl=1&tm=1619182800&sce=0-12-12&rf=0-18)]
- 逻辑运算符操作的都是boolean类型的变量
- 开发中推荐使用&&,||
2 .单与(a&b),双与(a&&b)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ULWRuBZ9-1619189434371)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzNe7EdXgEBpiOYaKVnG6WSSGmOdurt23VAxGzkYShemSgyFOLPlM3i6W1LgdytPSJw!!/c&ek=1&kp=1&pt=0&bo=sQK0ArECtAIRADc!&tl=1&tm=1619182800&sce=0-12-12&rf=0-18)]
- 区分&与&&
-
相同点1:& 与 && 的运算结果相同
-
相同点2:当符号左边是true时,两者都会执行符号右边的运算
-
不同点:当符号左边是false时,& 会继续执行符号右边的运算,&& 则不会执行符号右边的运算
- 理解
- 当符号为&&,且符号左边时false时,可以理解为电路中的短路,因为符号右边不管时false还是true都对&&的作用结果没有影响(即输出false),所以&&命令会把符号右边的运算给短路了
3.单或(a|b),双或(a||b)
- 原理与单与,双与相似
- 当符号左边是false时,两者都会执行符号右边的运算
- 当符号左边是true时,|会继续执行符号右边的运算,|| 则不会执行符号右边的运算
4.非(!a,!b)
- 真的变成假的,假的变成真的
5.异或(a^b)
- 当符号两边同是true或false时,输出false
- 当符号两边同是true或false时,输出true
- 异或不常用
六:位运算符(了解即可)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ecRpNGKo-1619189434371)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzN8uR0N3Og0XJcM4.425Jwk69h*xXAjwafsnsr8zw.eGeaUhRcGd5UdyEqSi13.0w!!/c&ek=1&kp=1&pt=0&bo=6QO3AekDtwERADc!&tl=1&tm=1619182800&sce=0-12-12&rf=0-18)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xw9FcZaX-1619189434372)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzDgI8cWSQd8zWXlRASl1xbs.DsVkz6ksX3FeGghObHviZXUFO5BoByZeEmAN.atFQ!!/c&ek=1&kp=1&pt=0&bo=*QMBAv0DAQIRADc!&tl=1&tm=1619182800&sce=0-12-12&rf=0-18)]
- 位运算符操作的都是整型的数据
1.左移(<<),右移(>>)
-
在一定范围内,每向左移1位,相当于*2
-
在一定范围内,每向左移1位,相当于/2
-
最高效的方式:
例:计算2 * 8 ?
解:2 << 3 或 8 << 1
2.与(&),或(|),异或(^)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TmnVxdXa-1619189434372)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzLWA.ghMRwaRYHrf413FkEVtOBbv44q1lSGBPpfEJUW8jRSZnQzoMsRvX.G9.W8zQ!!/c&ek=1&kp=1&pt=0&bo=iQNPAokDTwIRADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
3.取反(~)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SUlxb9J8-1619189434373)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzDxHomVaiqcZjgJmUyT4NXDZivDs8iZax9O2COUFkIRG86phkhDEC4qfRboK.CtwQ!!/c&ek=1&kp=1&pt=0&bo=KgOOACoDjgARADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
4.扩展:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M1JncFCM-1619189434373)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzLT307r3nXP9V0QkXT8sLPcnQuNIIYGWvWWmNpybCmM37eZN0zPwDmSJ0.lVCOZdA!!/b&ek=1&kp=1&pt=0&bo=7AMZAuwDGQIRADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KfVTXAvo-1619189434374)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzNzR7CB8XXwpsl9m017B8yBK0RUi0GPy4z6MdeKAwCTi14CmBIMtt0igJ47jrbCLg!!/c&ek=1&kp=1&pt=0&bo=2APgANgD4AARADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
七:三元运算符
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4oVyvFa-1619189434374)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzItyDBd6D9VCcl1fx2nbkVvgsz4TvIu1dyOtwqKhgjN7Mx8EZ350.7UeQbCwTcEsQ!!/c&ek=1&kp=1&pt=0&bo=UwLrAFMC6wARADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
1. 结构
(条件表达式)? 表达式1 : 表达式2
2.说明
- 条件表达式的结果为boolean类型
- 根据条件表达式真或假,决定执行表达式1,还是表达式2
- 如果表达式为true,则执行表达式1
- 如果表达式为false,则执行表达式2
- 表达式1 和表达式2 要求的数值类型是一致的
- 三元运算符是可以嵌套使用的
- 凡是可以使用三元运算符的地方,都可以改写成if-else ,但是反之不成立
- 如果程序既可以使用三元运算符,也可以使用if-else结构,选择三元运算符,因为简洁且执行效率高
3.实例
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dQlvDyos-1619189434375)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOH*Z17MtCBzEK0f.l2AWD7y079Bu8a5Fk.RW4LdTSefCEv15oImvYW5TUCg2Y3vJXy0AETAvDfow!!/c&ek=1&kp=1&pt=0&bo=EgTZARIE2QERADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Nc0k6YD-1619189434375)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzJiy.BKePnydGgrei8bcSy05HMPm06k9uSZJp4M8KGEu0qmWap8WsuVlW4zGqfoQg!!/c&ek=1&kp=1&pt=0&bo=xwOIAccDiAERADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
八:运算符的优先级
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jklwLOzl-1619189434376)(http://a1.qpic.cn/psc?/V532AbQ91B9Rrh1OMJAa1DATyt2pREO2/05RlWl8gsTOHZ17MtCBzGfhk05wzTc95AagW.8P6ITBFXmd.bjlvrALT1GfRQH4WGXjnqZ9qHeyddeMILIuw!!/c&ek=1&kp=1&pt=0&bo=rgKMAq4CjAIRADc!&tl=1&tm=1619186400&sce=0-12-12&rf=0-18)]
- 不推荐背下来,使用过程中,最好的办法是优先计算的 加括号,除非你要参加面试,考试等测试基本功的考试