第一个:
public class BrowserTest {
    public static void main(String[] args) {
        System.out.print("iexplore:");
        http://www.google.com;
        System.out.println(":maximize"); 
    }
} 第二段,把下面的符号存为Ugly.java,编译执行:
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
\u0063\u006c\u0061\u0073\u0073\u0020\u0055\u0067\u006c\u0079
\u007b\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020
\u0020\u0020\u0020\u0020\u0073\u0074\u0061\u0074\u0069\u0063
\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028
\u0053\u0074\u0072\u0069\u006e\u0067\u005b\u005d\u0020\u0020
\u0020\u0020\u0020\u0020\u0061\u0072\u0067\u0073\u0029\u007b
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074
\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0020
\u0022\u0048\u0065\u006c\u006c\u006f\u0020\u0077\u0022\u002b
\u0022\u006f\u0072\u006c\u0064\u0022\u0029\u003b\u007d\u007d 更多有趣例子请见《JAVA解惑》,实在是好书一本,没买错

解决方案 »

  1.   

    没弄过,第二个是unicode而已吧
      

  2.   

    呵呵,试了一下
    第一段,不知道http://www.google.com;放着干吗.
    运行结果:
    iexplore::maximize
    放了==没放第二段,JVM研究的范畴吧.有些小的细节没注意,呵呵,等有时间抽空买本看看.楼主要给分哦,我也算跟你一起分享了一下结果了.:)
      

  3.   

    http://www.google.com;
    这样看不明白,如果我分开呢?呵呵
    http:
    //www.google.com;http:其实做为标签了(label),看过TIJ的该有印象,JAVA没有goto,是通过标签和continue语句来模拟。,而第2句就是一般的单行注释咯
      

  4.   

    第2个例子确实是unicode,呵呵,那本书不错,我推荐有兴趣都看看,讲了很多应该避免的陷阱
      

  5.   

    to: killme2008(zane dennis)
    高人,pf
      

  6.   

    to UnAgain
    呵呵,我不是高手,这个例子也是抄自那本书,一开始也楞住了
      

  7.   

    第一个在jdk1.5下无法通过编译
    错误信息如下:错误: 无法读取: BroserTest.java
    1 错误
      

  8.   

    C:\qq>javac Ugly.java
    Ugly.java:1: illegal character: \92
    \u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
    ^
    1 error
      

  9.   

    第2个如何打印出源码啊!!
    class A{
        
        public static void main(String s[]){
       
           
         try{
             FileReader fr = new FileReader("g:\\a.txt");
             BufferedReader br=new  BufferedReader(fr);
             String rl=br.readLine();
            String rs[]= rl.split("\\");
            for(int i=0;i<rs.length;i++)
                    System.out.println(rs[i]);
            System.out.println("");
             }catch(Exception e){
             e.printStackTrace();
             
              }
          }
    }  
    总是报错:java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
    \
     ^
    at java.util.regex.Pattern.error(Pattern.java:1650)
    at java.util.regex.Pattern.compile(Pattern.java:1403)
    at java.util.regex.Pattern.<init>(Pattern.java:1124)
    at java.util.regex.Pattern.compile(Pattern.java:817)
    at java.lang.String.split(String.java:2103)
    at java.lang.String.split(String.java:2145)
    at untitled1.A.main(A.java:12)
    这是为什么啊????????
      

  10.   

    第二个直接运行,是:hello,world
      

  11.   

    书是很不错,英文名<java Puzzlers>,是<effective java>原作者所做
    翻译中规中矩吧,英文好的兄弟可以看原版,有电子书网上.
      

  12.   


    我记得还有一个著名的例子是:一般人都认为一段注释中,比如/*.... */之间,只要不出现*/,什么字符都可以,但实际上,你不能随便使用“\u”这两个字符,它们后面必须跟一个有效的四位十六进制Unicode编码,否则不能编译。
      

  13.   

    再来一个,各位猜猜会输出什么?给出理由
    package com.denny_blue.puzzlers.classy;/**
     *
     * @author dennis
     */
    public class Confusing {
        
        private Confusing(double[] dArray) {
            System.out.println("double array");
        }
        private Confusing(Object o) {
            System.out.println("Object");
        }
        public static void main(String[] args) {
            new Confusing(null);
        }
    }
      

  14.   

    public class Null {
        public static void greet() {
            System.out.println("Hello world!");
        }    public static void main(String[] args) {
            ((Null) null).greet();
        } 
    }
      

  15.   

    第一个看过了,结果是iexplore::maximize
    将http改为ftp或tp或t或别的字母结果不变,但是将  http://www.google.com;改为://www.google.com;就会出现一个编译错误。上面killme2008(zane dennis)说的不无道理,支持!
      

  16.   

    第二个有错
    C:\qq>javac Ugly.java
    Ugly.java:1: illegal character: \92
    \u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
    ^
    1 error
    谁能解释一下?
      

  17.   

    package com.denny_blue.puzzlers.classy;/**
     *
     * @author dennis
     */
    public class Confusing {
        
        private Confusing(double[] dArray) {
            System.out.println("double array");
        }
        private Confusing(Object o) {
            System.out.println("Object");
        }
        public static void main(String[] args) {
            new Confusing(null);
        }
    }输出 double array
    那位大虾能解释一下?
      

  18.   

    我觉得这个编译器 可能有关系,在有些不同版本的JDK下面就不出结果了
      

  19.   

    第二个例子可以用native2ascii -reverse 然后看结果就可以了
      

  20.   

    樓豬的第一個要表達什麽意思啊.
    不太明白,
    只是打印 iexplore:maximize
      

  21.   

    第一个没什么意思 是个标签来的.第二个是Hello world 嘿嘿
      

  22.   

    第二个真实源码是这样的:
    public
    class Ugly
    {public
        static
    void main(
    String[]
        args){
    System.out
    .println(
    "Hello w"+
    "orld");}}
      

  23.   

    第一个很好理解啊http:表示标号
    //就是注释的意思