字符类型转化为int或者其他整数类型讲解

这个知识点不常用到,所以感觉会容易忽略忘记,不过又是java基础内容,下边写区别,下边文字大部分从别人那里粘贴来的,不过已经忘记出处了

1、char转int,指的是数字字符转整数,因为字符分数字字符(0-9)和非数字字符字符,而我们一般说的字符转整数,指的就是数字字符转整数。字符转整数过程是,先将字符类型转化成字符串,然后再字符串转化成整数,假设c是char类型,i是int类型,s是String类型,那么将c转化成String类型的过程就是:s=String.valueOf(c);i=Integer.parseInt(s);i保存的就是c转化成int的值。例如字符‘0’转化成整数后就是0,非数字字符不能转化为整数的,转化过程会出错。


2、char转int中容易混淆的概念:数字字符其实包含两层数字概念,一是它本身表示的数字,第二它保存时用的字符编码,很多人容易把这两层概念混淆,例如字符'1'它本身表示的数字是1,而她的字符编码(ascii码、Unicode码等编码)为49,char转int时,用的是1值,还是码值49呢?答案是1值,也就是本身表示的数字,这是为什么只有数字字符才能转化为整数的原因。那么,如果我想用字符的编码值呢,很简单,直接在字符面前加上(int)即可,例如i=(int)c;就可以把字符c的字符编码值提取出来赋值给整数i,如果c=‘1’,那么赋值后,i就等于49,而不是1了。同时,char类型可以直接当做整数来使用,例如:char c=‘1’;那么int i=c+1 后,i的值就是50,而不是2,此时用的是字符的编码值来运算。如果c=‘a’,由于a的字符编码(由字符编码决定,java里的字符编码用的是unicode编码)为61,所以经过 int i=c+1后,i的值为62。

综上所述使用强转得到的就是unicode码值,要得到本身的值需要先转字符串在转数字;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值