连续输出 unicode字符总能有奇怪的事情

Leow_31 2016-08-13 09:44:48
比如直接输出'\u000A'的话,就编译不能了(大致好像是编译的时候真的起到了'\n'的作用,代码被截断了之类的)


最近又发现如下代码并不能理想执行:
System.out.println('\u0028'+'\u0029');


这俩就是'('跟')',,结果得到了81,就是两者数值之和的十进制表示(一般来说'+'起到连接的作用);

甚至预先
char t='\u0028';
或者
char t='(';

都得到同样的结果。

但如果
String t="(";
,那么两个左右括号都能正常输出。


原因不明,可能也跟编译有关。




话说不知道为什么在notepad++的java的TYPE WORD里并没有String(没有变色才注意到的,虽然可以手动添加的说)





话说如果我提问了没人回答最后自己解决了怎么给分?(他人回复的也并没有提供什么帮助的话)
强行没有满意回答吗?
...全文
197 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
attilax 2016-08-14
  • 打赏
  • 举报
回复
用eclipse编译呀。一下子指明错误。。notepad++太简陋了。
L峰子 2016-08-14
  • 打赏
  • 举报
回复
在println()中的+号两边分别为'\u0028' '\u0029'它们是char型字符并不是字符串,此时+号的功能不再是字符串的连接作用,而是数学意义上的加号。 如果想正常输出应改为:System.out.println(""+'\u0028'+'\u0029');

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧