首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

奇怪, \u000a被识别为: 未结束的字符串字面值解决方法

2012-02-24 
奇怪, \u000a被识别为: 未结束的字符串字面值作一个简单的unicode输出:System.out.print( \u002a )得到

奇怪, \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()没有空参重载形式,所以为错

热点排行