Java字符与整形的转换问题

Java字符与整形的转换问题

博主在练习大数加法时,用到了字符数组相加的问题,自己研究了段时间总结下经验,希望能对大家有所帮助


两字符直接相加结果为两字符的ascii码值相加

例:

int a = '0' + '1';

输出结果为97

强制转换后也是ascii码相加

例:

int a = (int)'0' + (int)'1';

输出结果仍为97

0ascii码值为48,1ascii码值为49


两字符变量强制转换或不转换都为对应的int值相加

例:

char c1 = '0';
char c2 = '1';
int a = c1 + c2;
int b = (int)c1 + (int)c2;

结果a、b都为97


函数的形参相加结果和两字符相加相同

例:

public static int plus1(char c1, char c2) {
    return c1 + c2;
}

public static int plus2(char c1, char c2) {
    return (int)c1 + (int)c2;
}

结果都为97


字符数组中取出单个值结果与字符相加相同

例:

char[] c = {'1', '2'};
int a = c[0] + c[1];

结果为97


获得一个char对应int可以采用以下方式

方法1:

Integer.parseInt(String.valueOf('1'));

方法2:

char c = '1';
int a = c - '0';

int型变量转换为对应char型变量

//注意使用该方法int值不能大于9
char c = '1';
int a = (char)(c + ‘0’);

总结:

int型转换成char型,直接强制转换是转换成该int值ascii码对应的字符>想要取得对应整型值,可以使用该字符减去0字符或解析成整形
而对应int型转换成char型也可以使用该整型加上0字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值