【发布时间】:2015-07-29 15:06:17
【问题描述】:
对此有一些问题(例如Java: Prefix/postfix of increment/decrement operators?),但我不询问后缀和前缀++ 运算符之间的一般区别(我知道那部分),而是关于它们在 Java 规范级别上的根本区别。
具体来说,前缀和后缀 ++ 运算符 other 与运算符优先级之间是否有任何区别(可能是 javac 将命令转换为字节码的方式或 JVM 运行该字节码的方式) ?
例如,以下代码是否必然运行相同(在每个 JVM 中):
for (int i = 0; i < X; i++) { ... }
和
for (int i = 0; i < X; ++i) { ... }
JLS 中是否有任何内容定义这两条语句在每个平台、Java 编译器、JVM 等上以完全相同的方式运行,或者这两条语句是否有可能(甚至理论上)以不同的方式运行?
【问题讨论】:
-
只添加之前和之后不同...
标签: java jvm operators bytecode