你不知道的优先级运算问题

针对小白的一些教程,当然大佬们也可以看看提提简易

一定是有些帮助的

别犹豫,快速告诉我下面的输出结果是什么

我想大部分人都能够得出答案输出的y=1.5,如果不是的可以好好反思自己在学什么了
针对这里呢,我相信大家肯定都知道,乘除的优先级高于加减,所以先算了x*x再处于2最后再加x,针对这样的运算确实没什么问题,那么接下来的你还可以这么算吗

难度增加

请大家不要犹豫,告诉我你的答案

我觉得应该有不少的小伙伴的出来的答案不是 4 吧 这里面呢,涉及到了自增和自减,又同时涉及到了乘除加减,所以可能会有不少的小伙伴会做错 你们可能回想,欸,为什么不是7呢或者其他数呢,这里要知道 x++和++x的区别 ,x++是返回的是表达式运算之前的值,也就是x=1时,x++返回的是1而不是2,但是此时x确实已经为2了,所以说,x++返回的是表达式运算之前的值,而++x呢正好相反,++x则是先进行+1然后再返回值,所以这两者还是有区别的,但是他们相同的是,最后都会为x+上1,只不过一个是再运算前,一个再运算后 所以算出来是 y=1+1*3 结果为4

你以为到这里就结束了吗?不不不,接下来难度升级,再看一道

请大家一样不要犹豫,说出你的结果

答案是** 25**你答对了吗? 相信不少人看到这都比较懵(大佬除外),说博主你这是上面玩意啊,哪有人会这么出题的.....不不不,平常开发确实不会遇到这么恶心下头的东西,但是某些人他不是人啊,呸呸呸,我啥也没说,我们来看这道题
注意这里,这里面出现了太多的自增了还涉及到了加减和乘除,但是大家基本的运算优先级不要忘了,自增的优先级是要大于乘除的,乘除的优先级又大于加减,但是注意,不要直接先算自增或者乘除如果你一眼望去就看到了 x++ * ++x从这里入手的话,那么你一定会算错的。

这里给大家一个口诀

  1. 从左到右依次查看
  2. 如果遇到操作数,将数据的值直接取出
  3. 如果遇到相邻的两个运算符,并且左边的运算符优先级大于等于右边的运算符,则直接运行左边的运算符。
    对应到这里呢,就是先从左往右看 x++的优先级大于+法,所以先进行x++的运算,x++=1,此时x为2 2+ ++x + x++ * ++x + ++x,

然后重新从左往右看,+号遇到了++运算,+号的优先级小于++,所以继续往后看,当++遇到 号是,++的运算高于 号,所以这时候运算++x =3 此时x为3,// 1 + 3 + x++ * ++x + ++x,

随后重新开始从左往右看,1+3+ 此时两个加号相遇,运算及平级,所以可以直接运算1+3 此时变成// 4+ x++* ++x + ++x

再重新从左往右看,+遇到了 ++,继续往后看,++遇到了,++优先级大于*,此时先算x++ =3 此时x为4,变为 4+3*++x + ++x,

再重新从左往右看,4+3 遇到了++,继续往后看,++遇到了+,先算++x=5 此时x=5,变为4+3 5+ ++x,再重新从左往右看,当号遇到+号时优先级较高,所以先算了35=15,此时4+15+ ++x,

再重新从左往右看+号遇到+号运算4+15=19,最后+遇到了++,再往后没有了,所以此时先算++x=6 此时 x=6 ,自此变为19+6=25至此运算结束,返回25

怎么样你明白了吗 接下来给大家出道题,难度比上一个还要高一点,大家可以尝试一下,把你们的答案放在评论区,可以根据上面的运算口诀得出正确结果

大家挑战一下吧,大佬也可以来挑战一下哦,不一定大佬能做出来

关注我,带小白了解更多前端基础问题和一些好看又好玩的样式,我是如意,一个致力于python+前端方向的大三在校学生,欢迎大家关注和大佬指点

相关推荐
J老熊30 分钟前
Spring Cloud Netflix Eureka 注册中心讲解和案例示范
java·后端·spring·spring cloud·面试·eureka·系统架构
我爱学Python!35 分钟前
面试问我LLM中的RAG,秒过!!!
人工智能·面试·llm·prompt·ai大模型·rag·大模型应用
OLDERHARD1 小时前
Java - LeetCode面试经典150题 - 矩阵 (四)
java·leetcode·面试
寻找09之夏1 小时前
【Vue3实战】:用导航守卫拦截未保存的编辑,提升用户体验
前端·vue.js
非著名架构师1 小时前
js混淆的方式方法
开发语言·javascript·ecmascript
银氨溶液2 小时前
MySql数据引擎InnoDB引起的锁问题
数据库·mysql·面试·求职
多多米10052 小时前
初学Vue(2)
前端·javascript·vue.js
敏编程2 小时前
网页前端开发之Javascript入门篇(5/9):函数
开发语言·javascript
柏箱2 小时前
PHP基本语法总结
开发语言·前端·html·php
新缸中之脑2 小时前
Llama 3.2 安卓手机安装教程
前端·人工智能·算法