JAVA中char类型加减乘除运算表达式返回类型

种地  金牌会员 | 2023-11-21 06:56:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 954|帖子 954|积分 2862

我们都知道java中,如果char类型和int类型做加减法,那么char类型会被精度提升至int类型然后参与运算,返回的也是int类型的数据。
那么如果表达式中参与运算的均为char类型,那么表达式返回的类型是什么呢?
  1. 'A' - 'a'
复制代码
经过简单测试,是int类型
  1. char c = 'w';
  2. sb.append('A' + c - 'a');
复制代码
这个问题是在调用StringBuilder.append()方法里面遇到的,本来期望的是追加一个表达式计算完成后的字符,但是最后追加的是一个两位的数字。而StringBuilder.append()恰巧重载了多种类型的参数,包括char,ing等,说明匹配到了append(int)方法,如果想追加字符,那么需要将表达式强制转换为char类型。
  1. char c = 'w';
  2. sb.append((char)('A' + c - 'a'));
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表