口译和编译器

时间:2019-04-29 16:14:16

标签: interpreter compiler-theory java-compiler-api

有人可以帮助我弄清楚什么是编译器和解释器吗?它们的区别是什么?如果我是Java初学者,请多加赞赏。

1 个答案:

答案 0 :(得分:0)

基本上(非常基本),编译器会构建您的程序。它将Java代码转换为计算机可以理解的内容。解释器运行您的程序。

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

时,才能知道解释器中的错误

ex:如果您的数组包含以下3种水果:

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

然后您尝试以下操作:

System.Out.Println(fruits[4]);

编译器不会收到此错误,因为没有语法错误(一切似乎都很好),但是一旦运行该程序,您将获得IndexOutOfBoundsException,这是解释器捕获的运行时异常。