是否为此类变量声明提供了优化:
final int secondsInDay = 24 * 60 * 60;
Run Code Online (Sandbox Code Playgroud)
尽管additional_funct根本没有使用,但C++上的这段代码甚至都无法编译:
#include <iostream>
void additional_funct(int num);
void main()
{
std::cout << "just a text";
}
void additional_funct(int num)
{
// For both lines will be shown "divide by zero"
int var = 5 / 0;
int another_var = num + (2 / 0);
}
Run Code Online (Sandbox Code Playgroud)
这证明了C++编译器在运行之前对数字文字表达式进行了优化,以预先计算它们.虽然相同的Java代码将开始运行:
package experimental_main;
public class Experimental_start {
public static void main(String[] args) {
// Will throw ArithmeticException "by zero"
additionalMethod(2);
System.out.println("just a text");
} …Run Code Online (Sandbox Code Playgroud)