Java 字符运算,与数字的运算

字符与字符进行加减运算

此时会先将字符转换为ASCII码,将二者ASCII码值相加。

char i = '3' + '0';
int j = '3' + '0';

i的值为c,j的值为99,因为字符c的ASCII码为99

字符与数字进行加减运算

会将字符转换为ASCII码,然后和数字相加。

char i = 3 + '0';
int j = 3 + '0';

i的值为3,因为字符0的ASCII码为48,加3后为51,而51正好是字符3的ascii码;那么很显然j的值就为51

字符与数字之间的转换

如果有字符3,该如何将其转化为数字3呢?

char i = '3' - '0';
int j = '3' - '0';

按上面这样行不?

i的结果是,j为3,原因前面提到过,他们会转换为ASCII码进行运算,字符3的ASCII码为51,字符0为48,那么51-48=3,而ASCII码3对应的字符是下图这么个玩意。
在这里插入图片描述
所以对于一个字符,可以通过让它减字符0的方式来完成与数字的转换。

现在看看如果有数字3,该如何将其转化为字符3呢?
在这里插入图片描述
按上图这样行不?事实上编译器会报错,我猜原因是0的ascii码为48,3-48=-45为负数,而负数并没有与之对应的字符,但j可以正常输出,结果为-45。

接下来挑一个数值大于0的ascii码48的数字,如93,此时就不会报错了,结果如下:
在这里插入图片描述
运行结果:
在这里插入图片描述

那么按下图这样行不行呢?
在这里插入图片描述
i的值为3,j为51,因为3+0的ascii码 48 = 51,而字符3的ascii码正好为51。

现在我们可以得出结论

  • 字符c转数字,就用c-‘0’
  • 数字d转字符,就用d+‘0’
  • 14
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值