我刚刚发现我的编译器允许我编写下面的代码,并没有引发任何编译时错误。有谁可以请赐教!
double y = arcToFindPointOn.getCenterXY().y - arcToFindPointOn.getRadius()*Math.sin(theta);;
关于上面代码行的奇怪之处在于最后的分号!
谢谢!
答案 0 :(得分:2)
在其他语言中,如C#和C ++,只有;
的指令意味着空指令并被允许,不会产生任何错误,也不会做任何事情。
网上有很多文章,发现这个:Multiple semicolons are allowed by the C# Compiler for statement termination
这是从C继承的一点点古怪。实际上是你的例子 不是由三个分号终止的声明,而是三个分号 陈述,其中两个是空的。偶尔它可能是有用的 使用例如空语句if语句或while循环,和 那么在其他地方禁止它似乎是任意的。除了, 现在改变它将是一个不必要的突破性改变。
答案 1 :(得分:2)
答案 2 :(得分:-1)
“;”是一个分隔符,因此编译器可以安全地忽略空白语句。但是,某些IDE可以帮助您优化代码,并且不会让您放弃此声明。