Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么编译器没有引发错误?_Java - Fatal编程技术网

Java 为什么编译器没有引发错误?

Java 为什么编译器没有引发错误?,java,Java,我刚刚发现我的编译器允许我写下面的代码,并且没有引起任何编译时错误。谁能给我点化一下吗 double y = arcToFindPointOn.getCenterXY().y - arcToFindPointOn.getRadius()*Math.sin(theta);; 上面代码行的奇怪之处是结尾处的分号 谢谢其他语言,如C++和C++,只使用指令;表示空指令,是允许的,不会生成错误,也不会执行任何操作 网上有很多关于这方面的文章,找到这篇: 这是从C语言中继承下来的一点奇怪之处。事实上,你

我刚刚发现我的编译器允许我写下面的代码,并且没有引起任何编译时错误。谁能给我点化一下吗

double y = arcToFindPointOn.getCenterXY().y - arcToFindPointOn.getRadius()*Math.sin(theta);;
上面代码行的奇怪之处是结尾处的分号


谢谢

其他语言,如C++和C++,只使用<代码>指令;
表示空指令,是允许的,不会生成错误,也不会执行任何操作

网上有很多关于这方面的文章,找到这篇:

这是从C语言中继承下来的一点奇怪之处。事实上,你的例子 语句不是以三个分号结尾,而是以三个分号结尾 语句,其中两个为空。有时,它可能是有用的 在if语句或while循环中使用空语句,以及 那么,在其他地方禁止它似乎是武断的。此外 现在改变它将是不必要的破坏性改变


在其他语言中也有类似的C语言和C++语言,只使用了<代码>的指令;code>表示空指令,是允许的,不会生成错误,也不会执行任何操作

网上有很多关于这方面的文章,找到这篇:

这是从C语言中继承下来的一点奇怪之处。事实上,你的例子 语句不是以三个分号结尾,而是以三个分号结尾 语句,其中两个为空。有时,它可能是有用的 在if语句或while循环中使用空语句,以及 那么,在其他地方禁止它似乎是武断的。此外 现在改变它将是不必要的破坏性改变

Java还允许:

实际上什么都不做。在您的示例中,只有一个位于末尾。

Java还允许:


实际上什么都不做。在您的示例中,在末尾只有一个。

“;”是一个分隔符,因此编译器可以安全地忽略空白语句。然而,一些IDE帮助您优化代码,并且不会让您逃脱这个语句。

“;”是一个定界符,因此编译器可以安全地忽略空白语句。然而,有些IDE可以帮助您优化代码,并且不会让您逃脱此语句的惩罚。

“为什么编译器不会引发错误?”因为它是。;-)@T.J.,是的,我知道,哈哈,但是看着它的时候感觉很奇怪!这就像有10000个东西在应用程序中工作,都是因为这个愚蠢的东西。但Davide Piras回答得很好,现在我可以继续调试:)“为什么编译器没有引发错误?”因为它是。;-)@T.J.,是的,我知道,哈哈,但是看着它的时候感觉很奇怪!这就像有10000个东西在应用程序中工作,都是因为这个愚蠢的东西。但是Davide Piras回答得很好,现在我可以继续调试:)删除空语句不会“优化代码”,因为空语句对运行时性能没有任何影响。IDE所做的是建议整理并指出代码中可能存在的错误。删除空语句不会“优化代码”,因为空语句对运行时性能没有任何影响。IDE所做的是建议清理并指出代码中可能存在的错误。
;