如果您有这样的程序:
public class ABC
{
public static void main(String args[])
{
System.out.println("1");
http://example.com
System.out.println("2");
}
}
Run Code Online (Sandbox Code Playgroud)
请注意在http://example.com两个输出语句之间写入的URL .
为什么程序编译没有任何错误?
dry*_*hip 36
程序无错误编译的原因是程序认为http:是Java中允许的标签,并且主要用于循环.
第二部分,即//example.com由于的注释,//因此被编译器忽略.
因此它编译得恰当.
coo*_*guy 18
正如本回答所述,此代码编译,因为Java编译器认为这http:是一个标签,后面的所有内容//都是注释.
另外,这不会编译:
System.out.println("1");
http://example.com
int i = 1;
Run Code Online (Sandbox Code Playgroud)
这不会:
System.out.println("1");
http://example.com
Date date = new Date();
Run Code Online (Sandbox Code Playgroud)
但这会:
System.out.println("1");
int i;
http://example.com
i = 1;
Run Code Online (Sandbox Code Playgroud)
这将:
int i = 0;
System.out.println("1");
http://example.com
i = i + 1;
Run Code Online (Sandbox Code Playgroud)
还有这个:
int i = 0;
System.out.println("1");
http://example.com
i++;
Run Code Online (Sandbox Code Playgroud)
所以你不能在标签后声明变量.此外,Intellij IDEA会显示一些警告,其代码如下所示.
| 归档时间: |
|
| 查看次数: |
793 次 |
| 最近记录: |