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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王国伟. 中级黑马   /  2013-1-22 11:57  /  1464 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王国伟. 于 2013-1-22 12:24 编辑

System.out.printlin(1+2+"a");System.out.printlin("a"+1+2);
输出结果分别为
3a
a12请问为什么 问题补充:
那第二个答案的话,1和2为什么没有双引号呢?

评分

参与人数 1黑马币 +9 收起 理由
金鑫 + 9

查看全部评分

7 个回复

倒序浏览
带引号的是字符串。
回复 使用道具 举报
  1. System.out.println("a"+(1+2)); //这样就输出a3了
复制代码
从左向右进行运算,1+2+“a”先将1+2用int类型运算,再提升为String

"a"+1+2是 先将1转换为String,进行运算,再和"2"(也转换为String)进行运算

评分

参与人数 1技术分 +1 收起 理由
黄锦成 + 1 赞一个!

查看全部评分

回复 使用道具 举报
上升到编码字符了。学习了。{:soso_e100:}
回复 使用道具 举报
柴乔军 发表于 2013-1-22 12:02
从左向右进行运算,1+2+“a”先将1+2用int类型运算,再提升为String

"a"+1+2是 先将1转换为String,进行运 ...

是不是也可以这样理解,第一行里1+2里的+号做运算符,第二行里的加号做连接符。
回复 使用道具 举报
王国伟. 发表于 2013-1-22 12:14
是不是也可以这样理解,第一行里1+2里的+号做运算符,第二行里的加号做连接符。 ...

是滴是滴,没错~
回复 使用道具 举报
柴乔军 发表于 2013-1-22 12:17
是滴是滴,没错~

谢谢,这下全明白了,呵呵
回复 使用道具 举报
高浩 中级黑马 2013-1-23 15:25:39
8#
System.out.printlin(1+2+"a");System.out.printlin("a"+1+2);
第一条输出语句
1+2是两个基本数据类型+好恰好是它们的运算符而2和“a”之间的+则是其到了连接符的作用将前面算好的值和a连在一起。
同理:你应该明白为啥第二条输出语句的结果

评分

参与人数 1技术分 +1 收起 理由
金鑫 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马