Java中int 转为char的方法

先看下面这段代码,猜猜会输出什么:
public static void main(String[] args) {
int a = 9;
int b = 97;
System.out.println("|" + (char)a + “|” + (char)b);
}
12345
大家猜 运行结果是什么?看看以下,是不是和你想的一样。
| |a

12
通过上面的例子可以看得出来:如果把数字直接强制转为字符的时候,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]);
}
}
12345678
运行结果还是为9.如果int a = 543, 数组arry长度会变为3。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值