我知道分号需要用分号结尾,就像在这段代码中一样:
public class Main{
public static void main(String[] args){
System.out.println("blah blah blah and stuff")
}
}
Run Code Online (Sandbox Code Playgroud)
在println语句的末尾需要分号,否则程序将无法编译.
最近,我偶然在println语句的末尾放了两个分号:
System.out.println("blah blah blah and stuff");;
Run Code Online (Sandbox Code Playgroud)
我注意到了,所以我开始在我的程序中放置分号
public class Main{;;;;;;
public static void main(String[] args){;;;;;;;;
System.out.println("blah blah blah and stuff");;;;;;
};;;;;;
};;;;;
Run Code Online (Sandbox Code Playgroud)
此代码编译,打印字符串,没有错误或意外结果.我已经搜索了为什么编译器似乎只是忽略了这些分号,但从未找到任何特别提及的内容.那么,为什么这些分号不会产生语法错误?
这被称为空语句,它是有效的.
空语句什么都不做.
它没有太多用途
while (checkCondition()) // may have some side effects
;
Run Code Online (Sandbox Code Playgroud)