java转型的问题?

char ch='0';
System.out.println((int)ch);

今天做一道算法题突然发现,上面代码输出的结果是48,看别人给的答案发现应该这样写:

char ch='0';
System.out.println((int)(ch-'0');

为什么会出现这种状况,求解

阅读 1.5k
1 个回答

char转int是按ascii码转换的。'0'的ascii码是96,'0'-'0'=0。你也可以用Integer.parseInt('0')来转换,得到的是0。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题