作一个简单的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.print("\u4e10");
得到:丐换行的unicode编码是十六进制的a
System.out.print("\u000a");
但编译的时候有错误:
D:\java\src\JavaABC\src\javaabc\Main.java:53: 未结束的字符串字面值
System.out.print("\u000a");请教一下, 换行为什么不能输出 ?
解决方案 »
- [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
- 有正则表达式学得比较好的么??
- 请问Java中的位运算重要么?
- Java 容器排序问题,求助~
- 一个sql2000的简单问题
- 怎么在servlet里取得远程主机上的一幅图片?比如sohu网站上的一幅图片??
- 【求助】JBUILDER编辑器中,按点号弹出对象方法列表的参数问题
- jdk里面如何使用swing?
- 帮我一下,applet的问题?
- 大虾们帮忙看看下面的程序(为什么不能同步)
- java 与vc 的socket通信问题
- 有没有国外的java 相关论坛或网站 推荐一下
);
print()没有空参重载形式,所以为错
其实编译的时候编译器会把源代码中所有的unicode代码转换过来,然后再做语法分析,
你的这句代码
System.out.print("\u000a");
编译程序先会讲他变成
System.out.print(
);
然后在开始编译(可能这里应该叫做语法分析)
接下来就如楼上说的print()没有空参重载形式,所以为错
-----------------------------------
System.out.print("");
System.out.print("\n");
是没有错的2。
------------------------------------
把那句话注释掉:
// System.out.print("\u000a");
出错:
D:\java\src\JavaABC\src\javaabc\Main.java:50: 未结束的字符串字面值这个问题我再java puzzlers中找到了答案:
上面的注释实际上是先被编译程序识别为:
// System.out.print(" (换行了)
a");所以出错3。
----------------------------------
System.out.println("\u000a");
出错:
D:\java\src\JavaABC\src\javaabc\Main.java:51: 未结束的字符串字面值
System.out.println("\u000a");
D:\java\src\JavaABC\src\javaabc\Main.java:51: 未结束的字符串字面值在这里, 比前一个多了个错误,但是同一个错误, 我在baidu 和google查找这种错误类型, 全部是程序中的表达式有问题, 这个, 我想也不例外。就是说这不是print的问题, 是因为"\u000a"这个表达式的问题空参形式不知道是不是我的第一个测试?麻烦, 有人知道java puzzlers中讲解print在那部分, 告诉我一下??
invalid character,怀疑是字符串非法的问题,不知道是不是楼上几位讲的原因