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

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

一定是有些帮助的

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

我想大部分人都能够得出答案输出的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+前端方向的大三在校学生,欢迎大家关注和大佬指点

相关推荐
派小心.22 分钟前
DAU和MAU怎么计算?先确定活跃事件、用户键和统计窗口
大数据·服务器·前端·人工智能·数据分析
代码猎人22 分钟前
前端怎么配合后端完成bug修复
前端
叫我铁汁儿吧25 分钟前
JS作用域
前端·面试
定栓26 分钟前
Webpack迁到Vite第七节(四):全家桶移除 — 保留项、脚本与数据收尾
前端·webpack·node.js
linweidong28 分钟前
RTC 走偏、时间跳变?嵌入式时间管理的工程避坑
嵌入式硬件·面试·实时音视频·rtc·嵌入式面经·嵌入式ntp·嵌入式对时
VimorphTech33 分钟前
React 任务轮询,为什么不能只写一个 setInterval?
javascript·typescript
代码猎人34 分钟前
前端怎么优化首屏加载速度
前端
代码猎人34 分钟前
前端怎么保障项目稳定上线与运行
前端
数据掘金35 分钟前
小程序埋点方案的埋点文档怎么自动生成?
前端
deli00735 分钟前
cron 表达式为什么总跑错?10 个场景实测,下次执行时间一眼看懂
前端