Java字符与整形的转换问题
16lz
2021-01-22
Java字符与整形的转换问题
博主在练习大数加法时,用到了字符数组相加的问题,自己研究了段时间总结下经验,希望能对大家有所帮助
两字符直接相加结果为两字符的ascii
码值相加
例:
int a = '0' + '1';
输出结果为97
。
强制转换后也是ascii
码相加
例:
int a = (int)'0' + (int)'1';
输出结果仍为97
。
0
ascii码值为48,1
ascii码值为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
字符
更多相关文章
- java中 16进制字符串 与普通字符串 与 byte数组 之间的转化
- Jsp以get方式提交中文及特殊字符,javascript处理乱码问题
- 忽略转义字符时拆分字符串
- JAVA-全局变量与局部变量-继承-封装-(是三节哦!今天的有点多)
- 使用字符串参数调用AndroidJni静态方法。
- java中匹配字符串中的中文字符(含中文标点的)
- Java中字符流和字节流到底有什么区别!!!
- 小聊天程序,访问文件之间的变量
- java GBK字符转换成为UTF-8编码字符