Java中int 转为char的方法

感谢大佬,原文链接https://blog.csdn.net/sxb0841901116/article/details/20625771

先看下面这段代码,猜猜会输出什么:

	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。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值