黑马程序员技术交流社区

标题: 关于printlin的问题,求答案。 [打印本页]

作者: 王国伟.    时间: 2013-1-22 11:57
标题: 关于printlin的问题,求答案。
本帖最后由 王国伟. 于 2013-1-22 12:24 编辑

System.out.printlin(1+2+"a");System.out.printlin("a"+1+2);
输出结果分别为
3a
a12请问为什么 问题补充:
那第二个答案的话,1和2为什么没有双引号呢?
作者: 温立华    时间: 2013-1-22 11:59
带引号的是字符串。
作者: 柴乔军    时间: 2013-1-22 12:02
  1. System.out.println("a"+(1+2)); //这样就输出a3了
复制代码
从左向右进行运算,1+2+“a”先将1+2用int类型运算,再提升为String

"a"+1+2是 先将1转换为String,进行运算,再和"2"(也转换为String)进行运算
作者: 温立华    时间: 2013-1-22 12:05
上升到编码字符了。学习了。{:soso_e100:}
作者: 王国伟.    时间: 2013-1-22 12:14
柴乔军 发表于 2013-1-22 12:02
从左向右进行运算,1+2+“a”先将1+2用int类型运算,再提升为String

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

是不是也可以这样理解,第一行里1+2里的+号做运算符,第二行里的加号做连接符。
作者: 柴乔军    时间: 2013-1-22 12:17
王国伟. 发表于 2013-1-22 12:14
是不是也可以这样理解,第一行里1+2里的+号做运算符,第二行里的加号做连接符。 ...

是滴是滴,没错~
作者: 王国伟.    时间: 2013-1-22 12:20
柴乔军 发表于 2013-1-22 12:17
是滴是滴,没错~

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2