java - 编译器是否删除了不必要的括号

标签 java compiler-construction

例如,如果我在 Eclipse 中用 Java 编译它

intvar = (int)(((var1 * var3))*(7));

编译器会清理它

intvar = (int) var1 * var3 * 7;

然后编译器会把它变成机器码之类的东西。

或者我必须对编译器做一些特殊的事情来优化代码吗?

此外,这是否适用于所有其他已编译的语言?

最佳答案

编译器将 java 代码翻译成字节码。字节码根本没有括号。它适用于堆栈。

关于java - 编译器是否删除了不必要的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22597619/

相关文章:

带有枚举的 Java 数组

c++ - 条件运算符 (>?=) 的奇怪用法

c++ - 哪个编译器支持带默认参数的函数指针?

java - 进度条未显示在布局中

java - 如何组织项目?

java - 如何有效地对抽象列表进行嵌套迭代?

c++ - 编写编译器 - 具有整数表达式边界的边界检查数组(最佳实践)

assembly - 是否可以用 JACK 编写 HACK 汇编器?

有人可以告诉我以下汇编代码有什么问题吗?出现段错误

java - 从.csv文件中获取的字符编辑问题java