回答編集履歴
3
二項演算子と明記
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
**太字**…評価結果に置き換わった部分および副作用で値が変わった部分 __斜体__…次に評価する式
|
10
10
|
|
11
|
-
なお、Javaの演算子は必ず左から右へ評価されますが、その規則を期待することは推奨されていません(つまり、今回の書き方は非推奨な書き方)。また、C/C++など他言語では必ずしもそうではありませんので、ご注意ください。
|
11
|
+
なお、Javaの二項演算子は必ず左から右へ評価されますが、その規則を期待することは推奨されていません(つまり、今回の書き方は非推奨な書き方)。また、C/C++など他言語では必ずしもそうではありませんので、ご注意ください。
|
12
12
|
参考:
|
13
13
|
[The Java® Language Specification - Chapter 15. Expressions#15.7. Evaluation Order](http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.7)
|
14
14
|
[Java言語規定 式#15.7 評価順序](http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#4779)
|
2
サンプルをわかりやすく
answer
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|3|__x = __**__8__**|0|4|2 * 4|8|x = 8|
|
7
7
|
|4|**8**|**8**|4|x = 8|8||
|
8
8
|
|
9
|
-
太字…評価結果に置き換わった部分および副作用で値が変わった部分
|
9
|
+
**太字**…評価結果に置き換わった部分および副作用で値が変わった部分 __斜体__…次に評価する式
|
10
10
|
|
11
11
|
なお、Javaの演算子は必ず左から右へ評価されますが、その規則を期待することは推奨されていません(つまり、今回の書き方は非推奨な書き方)。また、C/C++など他言語では必ずしもそうではありませんので、ご注意ください。
|
12
12
|
参考:
|
1
太字と斜体を逆にして工夫した
answer
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
|No|式|xの値|aの値|今回評価した部分|評価結果|次回評価する部分|
|
2
2
|
|---|---|---|---|---|---|---|
|
3
|
-
|0|x =
|
3
|
+
|0|x = __a++__ * ++a|0|2|||a++|
|
4
|
-
|1|x =
|
4
|
+
|1|x = **2** * __++a__|0|**3**|a++|2|++a|
|
5
|
-
|2|x =
|
5
|
+
|2|x = __2 * __**__4__**|0|**4**|++a|4|2 * 4|
|
6
|
-
|3|
|
6
|
+
|3|__x = __**__8__**|0|4|2 * 4|8|x = 8|
|
7
|
-
|4|
|
7
|
+
|4|**8**|**8**|4|x = 8|8||
|
8
8
|
|
9
|
-
|
9
|
+
太字…評価結果に置き換わった部分および副作用で値が変わった部分、斜体…次に評価する式
|
10
10
|
|
11
11
|
なお、Javaの演算子は必ず左から右へ評価されますが、その規則を期待することは推奨されていません(つまり、今回の書き方は非推奨な書き方)。また、C/C++など他言語では必ずしもそうではありませんので、ご注意ください。
|
12
12
|
参考:
|