第一个:
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解惑》,实在是好书一本,没买错
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解惑》,实在是好书一本,没买错
第一段,不知道http://www.google.com;放着干吗.
运行结果:
iexplore::maximize
放了==没放第二段,JVM研究的范畴吧.有些小的细节没注意,呵呵,等有时间抽空买本看看.楼主要给分哦,我也算跟你一起分享了一下结果了.:)
这样看不明白,如果我分开呢?呵呵
http:
//www.google.com;http:其实做为标签了(label),看过TIJ的该有印象,JAVA没有goto,是通过标签和continue语句来模拟。,而第2句就是一般的单行注释咯
高人,pf
呵呵,我不是高手,这个例子也是抄自那本书,一开始也楞住了
错误信息如下:错误: 无法读取: BroserTest.java
1 错误
Ugly.java:1: illegal character: \92
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
^
1 error
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)
这是为什么啊????????
翻译中规中矩吧,英文好的兄弟可以看原版,有电子书网上.
我记得还有一个著名的例子是:一般人都认为一段注释中,比如/*.... */之间,只要不出现*/,什么字符都可以,但实际上,你不能随便使用“\u”这两个字符,它们后面必须跟一个有效的四位十六进制Unicode编码,否则不能编译。
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);
}
}
public static void greet() {
System.out.println("Hello world!");
} public static void main(String[] args) {
((Null) null).greet();
}
}
将http改为ftp或tp或t或别的字母结果不变,但是将 http://www.google.com;改为://www.google.com;就会出现一个编译错误。上面killme2008(zane dennis)说的不无道理,支持!
C:\qq>javac Ugly.java
Ugly.java:1: illegal character: \92
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0020\u0020\u0020
^
1 error
谁能解释一下?
*
* @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
那位大虾能解释一下?
不太明白,
只是打印 iexplore:maximize
public
class Ugly
{public
static
void main(
String[]
args){
System.out
.println(
"Hello w"+
"orld");}}
//就是注释的意思