繁体   English   中英

关于 Java 运算符的优先级,如何最好地“将以下 Java 语句括起来以显示它们的实际执行”

[英]How to best to "Parenthesize the following Java statements to show their actual execution" with regard to the precedence of java operators

为了做好准备,我是一个长期没有编码的程序员(从 qbasic 在原始 IBM PC 上通过 VB.net、Perl、C、SQL 等进行全栈开发),但我是通过“Honors/Pre-AP Intro to Computing”课程帮助/辅导我的高中高年级侄子,该课程由于他老师的性质和技术而被不合理地混淆。 此外,我正在即时学习(自学)Java,并且需要至少领先孩子和他的课程,哈哈。

这是我们正在解决的问题集的一个例子,我很难过,所以我求助于我的兄弟姐妹,他们很少让我失望。 我有3个问题:

  1. 我使用绿色/红色颜色编码(见下图)来标记我的工作,同时在多次通过时添加括号。 我现在有点制作这种风格,但是有没有标准或更好的方法来做到这一点,更简单/更容易理解?

  2. 我的工作如图所示正确吗? 我生疏了,我已经 30 多年没有做过这些东西了,然后我的一般编码风格是在 wazoo 中实现括号,这样优先级就不会成为问题。

  3. h3ck 是什么“something.else”? 网上到处都找不到,...

谢谢各位!

将以下 Java 语句括起来以显示其实际执行情况

问题:

y <= x || z >= p && something.else(q | r & s) || g [3] < t

解决方案:

y <= ((x || z) >= (p && (something.else(q | (r & s)) || (g[3] < t))))

运算符优先级:

运算符优先级

问题:

y <= x || z >= p && something.else(q | r & s) || g [3] < t

解决方案:

(y <= x) || (((z >= p) && (something.else(q | (r & s)))) || (g[3] < t))

您的比较运算符(较小等于,较大等于)被错误解释。

就个人而言,我不确定何时停止。 例子:

 y <= x

嗯,y 在 x 之前被评估。 我应该写吗

 ((y) <= x)

?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM