変数とデータ型応用問題
以下のコードを実行した場合、出力される値はどれですか? ```java char c = 'A'; int i = c + 1; System.out.println((char)i); ```
A.'A'
✗ char型'A'のUnicodeコードポイントは65です。1を加えると66になり、キャストで文字に変換されるため'B'が出力されます。'A'のままではありません。
B.'B'← 正解
✓ 正解です。'A'のUnicodeコード値は65、+1で66になります。(char)66をキャストすると'B'(Unicodeコード66)が出力されます。
C.66
✗ 数値の66が出力されるのではなく、(char)66でキャストして'B'という文字が出力されます。
D.65
✗ 元のchar値の65ではなく、+1の演算が行われているため65ではなく66となり、'B'が出力されます。