黑马程序员技术交流社区
标题:
关于char的使用问题
[打印本页]
作者:
吴刚
时间:
2012-11-9 23:30
标题:
关于char的使用问题
本帖最后由 吴刚 于 2012-11-10 11:50 编辑
public class Demo {
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println('\u0000');
System.out.println(0 == '\u0000');
}
}
复制代码
第二句打印的是true,如果0和\u0000相等的话,那单单输出\u0000的时候为什么是个口。。。谢谢大家啦。。
作者:
打工人
时间:
2012-11-9 23:37
true是第二句打印出来的
作者:
吴刚
时间:
2012-11-9 23:44
冯海霞 发表于 2012-11-9 23:37
true是第二句打印出来的
额,不好意思,大意啦。。:)
作者:
罗宝
时间:
2012-11-9 23:48
本帖最后由 罗宝 于 2012-11-9 23:58 编辑
'\u0000'代表的是null,在控制台输出的是一个空格
作者:
颜峰
时间:
2012-11-9 23:49
直接输入UNICODE码,有一些是不能识别的,说以输出的是口
至于第二句,应该是'\u0000'在跟0运算的时候被提升成了int,所以才输出true
(int)'\u0000'==0
作者:
奋斗的青春
时间:
2012-11-10 00:10
本帖最后由 吴愿涛 于 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值.
作者:
吴刚
时间:
2012-11-10 11:50
谢谢楼上几位朋友
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2