Java中字符与数字的转换

char可以转换成任意一种数值类型,任意一种数值类型也可以转换成char。

Java中的char用的是Unicode编码,2字节,16位。

转换时,只用到低16位,剩下的位全被忽略。例如:

char ch = (char)0XAB0041; // ch值为A,因为只考虑低16为,即0041H,找到ASCII码表中对应为A

浮点数转换为char型时,先转成int型,再继续转成char型,例如:

char ch =  (char)65.25; // ch值为A,65.25先变成65,在转换成char,找到ASCII码表中对应为A

当char转换成数值型时,这个字符的Unicode码就被转换成某个特定的数值类型,例如:

int i = (int)'A'; // i值为65

如果转换结果适用于目标变量,则可以隐式转换,否则必须显式转换,例如:

byte b = 'a'; // a的Unicode码是97,在byte的范围内,可以隐式转换

byte b = (byte)'\uFFF4'; // 该数超过一个字节,为了强制赋值,必须显示转换

所有数值操作符都可以用在char型操作数上,若结合数字则转换成数字,若结合字符串则与该串相连

int i = '2' + '3'; // 字符2转成数为50,3变为51,则 i 等于101

int j = 2 + 'a'; // a转换成数为97,则 j 等于99


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值