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

java 菜鸟小程序 跪求解释

2012-01-24 
java 初学者小程序跪求解释public class Char {public static void main(String arg[]) {char b1 c,b2

java 初学者小程序 跪求解释
public class Char {
public static void main(String arg[]) {
char b1 = 'c',b2 = 125;
char b3 = (char)(b1+b2-1);
System.out.println("b3 = " +b3);
}
}

为什么该程序的运行结果为 b3 = ?


[解决办法]
Unicode 到目前为止所定义的五个平面中,第0平面(BMP)最为重要. 其编码分布如下.
  注:中文范围 4E00-9FBF:CJK 统一表意符号 (CJK Unified Ideographs)
  0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)
  0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement)
  0100-017F:拉丁文扩展-A (Latin Extended-A)
  0180-024F:拉丁文扩展-B (Latin Extended-B)

007f = 127(10进制),
所以,当你超过127的值时,自然也就不是ascii的范围所能描述的了,用的是unicode编码。
[解决办法]
楼上正解
[解决办法]

探讨
Unicode 到目前为止所定义的五个平面中,第0平面(BMP)最为重要. 其编码分布如下.
  注:中文范围 4E00-9FBF:CJK 统一表意符号 (CJK Unified Ideographs)
  0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)
  0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and ……

[解决办法]
System.out.println("b3 = " +b3); 应该改为System.out.println("b3 = " +(char)b3); 
系统不知道你要char还是int 所以 输出?
[解决办法]
探讨
Unicode 到目前为止所定义的五个平面中,第0平面(BMP)最为重要. 其编码分布如下.
  注:中文范围 4E00-9FBF:CJK 统一表意符号 (CJK Unified Ideographs)
  0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin)
  0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and ……

热点排行