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. java中 16进制字符串 与普通字符串 与 byte数组 之间的转化
  2. Jsp以get方式提交中文及特殊字符,javascript处理乱码问题
  3. 忽略转义字符时拆分字符串
  4. JAVA-全局变量与局部变量-继承-封装-(是三节哦!今天的有点多)
  5. 使用字符串参数调用AndroidJni静态方法。
  6. java中匹配字符串中的中文字符(含中文标点的)
  7. Java中字符流和字节流到底有什么区别!!!
  8. 小聊天程序,访问文件之间的变量
  9. java GBK字符转换成为UTF-8编码字符

随机推荐

  1. 建议一种有效的查询方式
  2. Code First for Mysql 错误:未为提供程序
  3. sql语句,order by后加参数问题
  4. mybatis中 insert into select 批量生成u
  5. ORA-19909:当进行不完全恢复之后使用open
  6. sql 2005判断某个表或某个表中的列是否存
  7. MySQL中的类Decode用法
  8. 如何优化用于从表复制数据的oracle过程?
  9. SQL关键字转换大写核心算法实现
  10. 关于使用框架操作Oracle数据库切换MySQL