今天,经过半小时的搜索bug,我发现可以在if语句后面加一个分号而不是代码,如下所示:
if(a == b);
// Do stuff
Run Code Online (Sandbox Code Playgroud)
这基本上意味着无论a是否等于b都会完成,if语句没有任何意义.为什么Java没有给我一个错误?有什么情况可以使用吗?
我已经用Java编程了一段时间,我第一次遇到这种语法:
public Object getSomething(){return something;};
Run Code Online (Sandbox Code Playgroud)
有趣的是我的最后一个分号.它似乎没有导致编译器错误,并且据我所知不会生成运行时错误,所以它似乎是有效的语法.我什么时候会使用这种语法?或者它只是允许但通常不使用的东西?
我不小心写了一个带有两个分号的java语句.java编译器没有显示任何错误,它运行.
码:
System.out.println("Length after delete the text is "+name.length());;
Run Code Online (Sandbox Code Playgroud)
出于学习目的,我尝试在分号后添加不同的字符,并且java编译器已将编译时错误显示为令牌")"上的语法错误,删除此标记.
这个说法:
System.out.println("Length after delete the text is "+name.length());)
Run Code Online (Sandbox Code Playgroud)
为什么java将分号和其他字符视为不同?
根据我的科学Java实验,int x = 0;相当于int x = 0;;相当于int x = 0;;;;;;;;;;;;;;;
当我结束这样一条线时,我觉得会发生不好的事情.但编译器甚至没有抱怨.有没有人有一个想法,为什么这在java中是合法的.
displayDataMap.put("dateInterval", getDateInterval());;
编辑:Eclipse没有抱怨的原因是因为preference->java->compiler->Errors/Warning我有Empty语句:as ignore.
