A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 坏坏坏男孩 中级黑马   /  2016-7-9 23:43  /  469 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class ssss {
        public static void main(String[] args) {
  char ch = '8';
  int r = 10;
  switch (ch + 1) {
    case '7':
      r = r + 3;
    case '8':
      r = r + 5;
    case '9':
      r = r + 6;
      break;
    default:
      r = r + 8;
        }
        System.out.print('8'+1);
}
}

在这个程序中'8'+1 为什么等于'9',但是单独运行'8'+1是等于57呢.....

4 个回复

倒序浏览
8 是char型 1电脑默认是int类型 相加的话 char型会自动提升为int类型 所以'8'+1  = 9
回复 使用道具 举报
因DJK里有优化机,先运算后在执行
回复 使用道具 举报
Ly丶Roman 发表于 2016-7-10 00:24
8 是char型 1电脑默认是int类型 相加的话 char型会自动提升为int类型 所以'8'+1  = 9  ...

有道理   
回复 使用道具 举报
2楼正解...........
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马