下面是一个代码片段,
int a = 1;
char b = (char) a;
System.out.println(b);但我得到的是空输出。
int a = '1';
char b = (char) a;
System.out.println(b);我将得到1作为我的输出。
有人能解释一下吗?如果我想像第一个代码片段中那样将int转换为char,我应该怎么做?
发布于 2017-06-29 22:15:09
如果您希望根据ascii代码打印ascii字符,并且不想超出此范围(如unicode字符),则可以将变量定义为字节,然后使用(char)转换。即:
public static void main(String[] args) {
byte b = 65;
for (byte i=b; i<=b+25; i++) {
System.out.print((char)i + ", ");
}顺便说一句,字母'A‘的ascii代码是65
https://stackoverflow.com/questions/17984975
复制相似问题