簡體   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