public static void main(String[] args) {
System.out.println("World Hello!");;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;
;;;;;;;;;
;;;;;;;
;;;;;;;;;;;;;;
;;;;;
}
Run Code Online (Sandbox Code Playgroud)
正常人是我想说:"那些分号在那里做的是什么!?"
Lui*_*oza 11
因为另一个分号旁边的一个简单分号是一个空语句.所以,很多半冒号彼此相邻都是很多空洞的陈述.它编译并运行没有问题.
根据Oracle Java语言规范:
空语句什么都不做.
Run Code Online (Sandbox Code Playgroud)EmptyStatement: ;执行空语句总是正常完成.
由于它自己允许连续分号的语言,编译器不会产生错误.
您还可以检查字节码以查看发生了什么,代码中有很多";" :
// Stack: 1, Locals: 1
public Duh1();
0 aload_0 [this]
1 invokespecial java.lang.Object() [8]
4 return
Line numbers:
[pc: 0, line: 3]
Local variable table:
[pc: 0, pc: 5] local: this index: 0 type: Duh
// Method descriptor #15 ([Ljava/lang/String;)V
// Stack: 2, Locals: 1
public static void main(java.lang.String[] args);
0 getstatic java.lang.System.out : java.io.PrintStream [16]
3 ldc <String "World Hello!"> [22]
5 invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]
8 return
Line numbers:
[pc: 0, line: 5]
[pc: 8, line: 15]
Local variable table:
[pc: 0, pc: 9] local: args index: 0 type: java.lang.String[]
Line numbers:
[pc: 0, line: 5]
[pc: 8, line: 6]
Run Code Online (Sandbox Code Playgroud)
和只有1";"的代码 :
// Method descriptor #6 ()V
// Stack: 1, Locals: 1
public Duh2();
0 aload_0 [this]
1 invokespecial java.lang.Object() [8]
4 return
Line numbers:
[pc: 0, line: 3]
Local variable table:
[pc: 0, pc: 5] local: this index: 0 type: Duh2
// Method descriptor #15 ([Ljava/lang/String;)V
// Stack: 2, Locals: 1
public static void main(java.lang.String[] args);
0 getstatic java.lang.System.out : java.io.PrintStream [16]
3 ldc <String "World Hello!"> [22]
5 invokevirtual java.io.PrintStream.println(java.lang.String) : void [24]
8 return
Line numbers:
[pc: 0, line: 5]
[pc: 8, line: 6]
Local variable table:
[pc: 0, pc: 9] local: args index: 0 type: java.lang.String[]
Line numbers:
[pc: 0, line: 5]
[pc: 8, line: 6]
Run Code Online (Sandbox Code Playgroud)
正如您可以检查单个";"的两个版本的字节码完全相同 和连续的多个";".
| 归档时间: |
|
| 查看次数: |
186 次 |
| 最近记录: |