首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >System.out.println( '3‘+0 );

System.out.println( '3‘+0 );
EN

Stack Overflow用户
提问于 2015-01-27 11:51:09
回答 4查看 102关注 0票数 0

因此,如果在System.out.println( '3' + 0 );上运行以下语句

你会得到51作为输出。

如果您运行另一个类似语句,

代码语言:javascript
运行
复制
System.out.println(  3  + '0' );

您会得到相同的结果,即51。

但是,如果运行第三条语句,

代码语言:javascript
运行
复制
System.out.println( '3' + '0' )

然后你会得到99作为结果。

有人能解释一下这三个结果背后到底发生了什么吗?

EN

回答 4

Stack Overflow用户

发布于 2015-01-27 11:56:22

当你把像0这样的数字放在‘’里面,你返回的是0的ASCII/Unicode值,在这种情况下是48,这就是为什么当你把3加到'0‘时得到51。

票数 1
EN

Stack Overflow用户

发布于 2015-01-27 11:58:22

因此:

代码语言:javascript
运行
复制
char c = '0';
int ascii = (int) c; // ASCII of '0' is 48
System.out.println( 3 + ascii);
票数 1
EN

Stack Overflow用户

发布于 2015-01-27 12:02:42

“3”的ascii代码是51。当你把一个整数0加到它上面时,结果是51,然后打印出来。类似地,'0‘的ascii代码是48,你在它的基础上加上3…但是当你在ascii格式中同时添加'3‘和'0’时,它会添加48和51,因此输出是99。这是由于java中的隐式类型转换造成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28162929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档