如果打印,字节b =(字节)0x8A的值是多少?

时间:2013-01-15 13:40:58

标签: java android

b将返回什么?

byte b = (byte)0x8A;
System.out.println("Value"+b);

它会打印什么?什么时候价值会返回否定?

1 个答案:

答案 0 :(得分:2)

  

它会打印什么?

可能不是你所期望的。在Java中,byte是一个(带符号)数字而不是字符,因此当0x8A转换为字符串时,您将获得一个小负数的十进制表示。

所以我期待:

Value-118

如果你想将0x8A解释为一个字符,你应该写一下:

char c = (char) 0x8A;
System.out.println("Value" + c);

但这并不是真的有效,因为Unicode代码点008A不是打印字符。 (值得一提的是,0x8A不是ASCII,因为真正的ASCII是7位字符集。)

相关问题