在上篇中我主要讲了char如何转为对于的int数值,这篇我主要讲述如何把int转为char.例如 int a = 9 如何变为 char a = '9'. 首先看一个例子:
public static void main(String[] args) {
int a = 9;
int b = 97;
System.out.println("|" + (char)a + "|" + (char)b);
}
大家猜 运行结果是什么?看看以下,是不是和你想的一样。
| |a
通过上面的例子可以看得出来:如果把数字直接强制转为字符的时候,jvm会把数字当成字符的ASCII编码来处理。
因为a字符对应的ASCII 编码就是97.
引用百度知道一些话:int 变为 char
一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的‘a’ 另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’ 为什么是a呢?因为字符‘a’对应的ASCII值是97. 自动转换一般是用于大的类型向小的类型转换,也叫窄化转换 强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换但是以上变化都是把int 当为ascii编码来获得char的值。下面介绍一种方法,如果大家有其他方法,请多多指导。
public static void main(String[] args) {
int a = 9;
String aStr = String.valueOf(a);
char[] arry = aStr.toCharArray();
for (int i = 0; i < arry.length; i++) {
System.out.print(arry[i]);
}
}
运行结果还是为9.如果int a = 543, 数组arry长度会变为3。