在Java解释中增加一个字符

Þaw*_*Þaw 3 java character character-properties

我有一个看起来像这样的Java片段:

    char ch = 'A';
    System.out.println("ch = " + ch);
Run Code Online (Sandbox Code Playgroud)

打印:A

然后当我这样做

    ch++; // increment ch
    System.out.println("ch =" + ch);
Run Code Online (Sandbox Code Playgroud)

它现在打印:B

我也试了一下Z,并得到一个[ (空心方块括号)
,并与-并导致以.


这怎么发生的?可能的解释是什么?提前致谢.

Pet*_*rey 9

对于字符0到127,您遵循ASCII字符集.

在此输入图像描述

你可以看到(90)之后的字符Z是(91)[而(45)之后的字符-是(46).

尝试

char ch = '-';
ch += '-'; // == (char) 90 or 'Z'
Run Code Online (Sandbox Code Playgroud)

甚至更奇怪

char ch = '0';
ch *= 1.15; // == (char) 48 * 1.15 = 54 or '6'
Run Code Online (Sandbox Code Playgroud)