解释器和编译器
Interpreter and Compiler
谁能帮我弄清楚什么是编译器和解释器?他们的区别是什么?如果为 Java 初学者解释,我将不胜感激。
基本上(非常基本上),编译器构建您的程序。它将您的 java 代码翻译成计算机可以理解的内容。解释器 运行 是您的程序。
两者都可以捕获错误,但它们是不同的类型。编译错误可以是句法、语义或逻辑错误。另一方面,您的解释器的错误只有在您 运行 程序后才会知道。
例如,如果您有一个包含 3 个水果的数组,如下所示:
String[] fruits = ["apple", "banana", "strawberry"];
你试试这个:
System.out.println(fruits[4]);
编译器不会得到错误,因为没有语法错误(编译时一切似乎都很好)但是一旦你 运行 程序,你会得到一个 IndexOutOfBoundsException
这是一个 RuntimeException
被解释器捕获。
谁能帮我弄清楚什么是编译器和解释器?他们的区别是什么?如果为 Java 初学者解释,我将不胜感激。
基本上(非常基本上),编译器构建您的程序。它将您的 java 代码翻译成计算机可以理解的内容。解释器 运行 是您的程序。
两者都可以捕获错误,但它们是不同的类型。编译错误可以是句法、语义或逻辑错误。另一方面,您的解释器的错误只有在您 运行 程序后才会知道。
例如,如果您有一个包含 3 个水果的数组,如下所示:
String[] fruits = ["apple", "banana", "strawberry"];
你试试这个:
System.out.println(fruits[4]);
编译器不会得到错误,因为没有语法错误(编译时一切似乎都很好)但是一旦你 运行 程序,你会得到一个 IndexOutOfBoundsException
这是一个 RuntimeException
被解释器捕获。