解释器和编译器

Interpreter and Compiler

谁能帮我弄清楚什么是编译器和解释器?他们的区别是什么?如果为 Java 初学者解释,我将不胜感激。

基本上(非常基本上),编译器构建您的程序。它将您的 java 代码翻译成计算机可以理解的内容。解释器 运行 是您的程序。

两者都可以捕获错误,但它们是不同的类型。编译错误可以是句法、语义或逻辑错误。另一方面,您的解释器的错误只有在您 运行 程序后才会知道。

例如,如果您有一个包含 3 个水果的数组,如下所示:

String[] fruits = ["apple", "banana", "strawberry"]; 

你试试这个:

System.out.println(fruits[4]);

编译器不会得到错误,因为没有语法错误(编译时一切似乎都很好)但是一旦你 运行 程序,你会得到一个 IndexOutOfBoundsException这是一个 RuntimeException 被解释器捕获。