http:在主要方法中 - 为啥没有错误?奇怪的行为
Posted
技术标签:
【中文标题】http:在主要方法中 - 为啥没有错误?奇怪的行为【英文标题】:http: in main method - why no errors? Strange behaviourhttp:在主要方法中 - 为什么没有错误?奇怪的行为 【发布时间】:2016-03-03 12:49:13 【问题描述】:public static void main(String args[])
http: //vk.com
System.out.println ("Hello world");
我想知道为什么这段代码没有抛出任何异常或错误。你能给我提供任何文件来解释这个案例吗?谢谢
【问题讨论】:
"loop:" in Java code. What is this, why does it compile?的可能重复 Please explain the usage of Labeled Statements的可能重复 【参考方案1】:这是有效的,因为:
http:
是一个标签,可以与break
和continue
语句一起使用。
//vk.com
是评论。
其余的是普通的、有效的 Java 语法。
【讨论】:
【参考方案2】:方法的主体解析为带标签的语句。
http: <-- label
//vk.com <-- comment
System.out.println ("Hello world"); <-- statement
在这种情况下,标签是多余的,但如果语句(例如)是一个循环,那么您可以使用 break http;
语句来中断循环。
例如
some_label: for (int i = 1; i < 100; i++)
for (int j = 1; j < 100; j++)
if (something(i, j))
break some_label;
语句标签在 Java 中很少使用,以至于很多程序员不知道它们的含义。这是(IMO)不使用它们的一个很好的理由。
【讨论】:
【参考方案3】:这个语法:
whatever:
创建一个名为whatever的标签。 它通常用于控制循环流,如this 答案。
Java 也保留了 goto
关键字,但未使用。
然后是注释:
//vk.com
没有理由做任何事情。
【讨论】:
【参考方案4】:您定义了一个名为http
的标签。在这里没用,但合法。
见Oracle's tutorial。
【讨论】:
以上是关于http:在主要方法中 - 为啥没有错误?奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章
BatchingBatcher 上的奇怪 NPE“JDBC 驱动程序未返回预期的行数”