bは何を返しますか?
byte b = (byte)0x8A;
System.out.println("Value"+b);
何を印刷しますか?そして、値はいつ否定を返しますか?
何を印刷しますか?
おそらくあなたが期待するものではありません。Javaでは、abyte
は文字ではなく(符号付きの)数値であるため0x8A
、文字列に変換すると、小さな負の数の10進表現が得られます。
だから私は期待します:
Value-118
0x8A
文字として解釈したい場合は、次のように記述してください。
char c = (char) 0x8A;
System.out.println("Value" + c);
しかし、Unicodeコードポイント008Aは印刷文字ではないため、これも実際には機能しません。(そして、真のASCIIは7ビットの文字セットであるため、0x8AはASCIIではありません。)