【发布时间】:2019-04-29 16:14:15
【问题描述】:
谁能帮我弄清楚编译器和解释器是什么?他们的区别是什么?如果像我一样为 Java 初学者解释它,不胜感激。
【问题讨论】:
-
到目前为止你发现了什么?您依靠哪些文档来执行自己的分析?根据您自己的深入研究,这里的人们将如何帮助您提高您现有的理解?您正在寻求帮助,但您似乎还没有尝试过任何事情。
标签: interpreter compiler-theory java-compiler-api
谁能帮我弄清楚编译器和解释器是什么?他们的区别是什么?如果像我一样为 Java 初学者解释它,不胜感激。
【问题讨论】:
标签: interpreter compiler-theory java-compiler-api
基本上(非常基本),编译器会构建您的程序。它将你的java代码翻译成计算机可以理解的东西。解释器运行您的程序。
两者都可以捕获错误,但它们是不同的类型。编译错误可以是语法、语义或逻辑错误。另一方面,解释器的错误只有在您运行程序后才能知道。
例如,如果您有一个包含 3 个水果的数组,如下所示:
String[] fruits = ["apple", "banana", "strawberry"];
然后你试试这个:
System.out.println(fruits[4]);
编译器不会得到错误,因为没有语法错误(编译时一切似乎都很好),但是一旦你运行程序,你会得到一个IndexOutOfBoundsException,这是一个RuntimeException被捕获口译员。
【讨论】: