0

bは何を返しますか?

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

何を印刷しますか?そして、値はいつ否定を返しますか?

4

1 に答える 1

2

何を印刷しますか?

おそらくあなたが期待するものではありません。Javaでは、abyteは文字ではなく(符号付きの)数値であるため0x8A、文字列に変換すると、小さな負の数の10進表現が得られます。

だから私は期待します:

Value-118

0x8A文字として解釈したい場合は、次のように記述してください。

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

しかし、Unicodeコードポイント008Aは印刷文字ではないため、これも実際には機能しません。(そして、真のASCIIは7ビットの文字セットであるため、0x8AはASCIIではありません。)

于 2013-01-15T13:45:13.523 に答える