黑马程序员技术交流社区

标题: [已解决]在网上看别人源码遇到的问题 [打印本页]

作者: 胡宝林    时间: 2012-6-3 15:15
标题: [已解决]在网上看别人源码遇到的问题
本帖最后由 hy19985125 于 2012-6-4 10:54 编辑

public class A {
    public static void main(String[] args) {
        System.out.print("a");
    http://www.google.com;
        System.out.println("b");
    }
}
中间有 http://www.google.com;
这么一句代码,应该编译的时候报错的,但是神奇的是可以编译,
也可以运行,运行的结果是ab,
这是怎么一回事,求解!!!!!
作者: 黑马-唐磊    时间: 2012-6-3 15:20
那个http://www.google.com;
“//”相当于注释,所以在代码中只有http:而这个http:是一个没有意义的引用,所以编译不会报错
作者: 黑马-唐磊    时间: 2012-6-3 15:20
那个http://www.google.com[/url];
“//”相当于注释,所以在代码中只有http:而这个http:是一个没有意义的引用,所以编译不会报错
作者: 梁小波    时间: 2012-6-3 15:22
你问的这几个问题都比较典型啊。
  http://www.google.com;
这句话中编译器会把http:当成一个标签!就是break http;的标签;
而//后面的代码会当成注释!
所以没有错!
作者: 郭宁    时间: 2012-6-3 16:07
public class A {
     public static void main(String[] args) {
         System.out.print("a");
     http:    /* 这成一个标签了*/                                     //www.google.com;
         System.out.println("b");
     }
}

作者: 李春阳    时间: 2012-6-3 16:38
这个属于小彩蛋哈~确实很有意思- -

符号//
大家都知道是单行注释符号,将之后的此行内容转变成没有实际意义的注释

而前面的http:正好是格式为
             字符串+:
这个就相当于在你程序里给此行注释加了个标记,这个标记名就是http啦~
这个小方法和C++里面,用于goto语句时加的标记是一样的哟。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2