A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴刚 中级黑马   /  2012-11-9 23:30  /  1987 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 吴刚 于 2012-11-10 11:50 编辑
  1. public class Demo {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args)
  6.         {
  7.                 // TODO Auto-generated method stub
  8.                 System.out.println('\u0000');
  9.                 System.out.println(0 == '\u0000');
  10.         }

  11. }
复制代码
第二句打印的是true,如果0和\u0000相等的话,那单单输出\u0000的时候为什么是个口。。。谢谢大家啦。。

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

6 个回复

正序浏览
吴刚 中级黑马 2012-11-10 11:50:28
7#
谢谢楼上几位朋友
回复 使用道具 举报
本帖最后由 吴愿涛 于 2012-11-10 00:13 编辑

\u开头的是一个Unicode码的字符,每一个'\u0000'都代表NULL,输出控制台是一个空格.其他的楼主可以查看Unicode表.

通常中文在的显示都是被转化为Unicode显示的.

Unicode可同时包含65536个字符,ASCII/ANSI只包含255个字符,实际上是Unicode的一个子集。Unicode字符通常用十六进制编码方案表示,范围在'\u0000'到'\uFFFF'之间。\u0000到\u00FF表示ASCII/ANSI字符。\u表示这是一个Unicode值.
回复 使用道具 举报
直接输入UNICODE码,有一些是不能识别的,说以输出的是口
至于第二句,应该是'\u0000'在跟0运算的时候被提升成了int,所以才输出true
(int)'\u0000'==0

评分

参与人数 1技术分 +1 收起 理由
杨志 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 罗宝 于 2012-11-9 23:58 编辑

'\u0000'代表的是null,在控制台输出的是一个空格
回复 使用道具 举报
冯海霞 发表于 2012-11-9 23:37
true是第二句打印出来的

额,不好意思,大意啦。。:)
回复 使用道具 举报
true是第二句打印出来的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马