Char - Java无法正常工作/我的代码

时间:2017-04-24 20:15:38

标签: java

这是我的代码:

char ersterChar = 14;

char zweiterChar = 'B';

System.out.println(ersterChar);

当我打印ersterChar时,它会向我显示此输出:https://gyazo.com/c9d250bb8867ac11ef4f4a944813983c

当我输入zweiterChar时,它确实给了我" B"信。

我理解这是错的吗?我尝试做的是降低值,但我得到相同的输出。

4 个答案:

答案 0 :(得分:3)

实际上只能打印某些字符 - 这取决于ASCII。由于14低于可打印字符的值,因此您不会看到任何有意义的输出。

答案 1 :(得分:3)

Java不使用ASCII。 Java使用Unicode(UTF-16)。 Unicode是ASCII的超集,因为Unicode表中的前128个字符与ASCII表中的相同。这是Unicod table(注意:表中的值是十六进制的)。

打印时,Unicode(也是ASCII)中的前32个字符不可见。这些是命令字符 角色' B'在Unicode中有值66。
如果你想打印' B'然后将值更改为66:
char ersterChar = 66;

答案 2 :(得分:0)

你正试图打印一个"转出"字符,超出普通ASCII字符(32到128之间)的范围。以上任何内容都被视为"扩展的ASCII"和0到31(和127)被认为是不可打印的控制字符。

http://www.asciitable.com/

答案 3 :(得分:0)

如果我可能会问,为什么你需要一个整数作为一个字符? Request Body: { "credentials": { "name": "vikrant******@gmail.com", "password": "password", "site": { "contentUrl": "MyContentURL" } } } 是整数类型而不是char。这就是14工作的原因。 char zweiterChar = 'B';是单个字符,即字母,数字,标点符号,制表符,空格或类似内容。 char字面是用单引号括起来的单个字符。 尝试将char重新声明为char ersterChar = 14;