奇怪, \u000a被识别为: 未结束的字符串字面值
作一个简单的unicode输出:
System.out.print( "\u002a ");
得到: *
System.out.print( "\u4e10 ");
得到:丐
换行的unicode编码是十六进制的a
System.out.print( "\u000a ");
但编译的时候有错误:
D:\java\src\JavaABC\src\javaabc\Main.java:53: 未结束的字符串字面值
System.out.print( "\u000a ");
请教一下, 换行为什么不能输出 ?
------解决方案--------------------换行请使用System.out.println( " "); 谢谢。
------解决方案--------------------\u000a是一个LineFeed,即换行,编译后为System.out.print(
);
print()没有空参重载形式,所以为错
------解决方案--------------------楼上的说的对,如果你看过java puzzzlers你会知道。
其实编译的时候编译器会把源代码中所有的unicode代码转换过来,然后再做语法分析,
你的这句代码
System.out.print( "\u000a ");
编译程序先会讲他变成
System.out.print(
);
然后在开始编译(可能这里应该叫做语法分析)
接下来就如楼上说的
print()没有空参重载形式,所以为错