黑马程序员技术交流社区

标题: System.out..print("123"+1) 打印结果 并解释 [打印本页]

作者: alax    时间: 2014-5-19 06:38
标题: System.out..print("123"+1) 打印结果 并解释
System.out..print("123"+1) 打印结果 并解释
作者: stream    时间: 2014-5-19 08:33
1231。。。。前面个字符串,加号把后面那个1也加进字符串了
作者: 张鹏宇    时间: 2014-5-19 12:06
编译期直接优化了
“1231”
作者: 黄晓鑫    时间: 2014-5-19 12:09
字符串和任何东西相加,+号都是用做连接符 把数据连接起来
作者: 雨落千木的时节    时间: 2014-5-19 12:29
打印结果为1231,这里涉及到了java的自动装箱拆箱技术,"+"连接的是字符串,1会自动转换成字符串类型。
作者: 陈培果    时间: 2014-5-19 12:40
同学,打印结果为1231,“123”是字符串String类型的,1是整形int的,两种不同类型的数据使用+,这时+就是一个连接符的作用
如果前面是123+1的话,结果就是124。这时+就是 两个数相加的做的

结果如图如代码
  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println("123"+1);//"123"是字符串String,1是整形int。+的作用是连接符
  6.                
  7.                 System.out.println("-------------");//分隔符,方便查看
  8.                 System.out.println(123+1);//123和1都是整形,+的作用是相加
  9.         }
  10. }
复制代码

:希望能对你理解有所帮助。

112.png (100.18 KB, 下载次数: 15)

演示效果图

演示效果图

作者: felixzr    时间: 2014-5-19 12:43
+做为连接符,所以输出打印就是1231
作者: 鸭梨的生活    时间: 2014-5-19 13:08
xuexi   ...............
作者: 路漫漫_求索    时间: 2014-5-19 17:53
打印结果是“1231”,因为123是字符串类型,所以不能参与运算,而 “+”是作为连接符,而字符串+1,会自动转换成字符串,所以输出结果是1231
作者: youcyou    时间: 2014-5-19 20:25
陈培果 发表于 2014-5-19 12:40
同学,打印结果为1231,“123”是字符串String类型的,1是整形int的,两种不同类型的数据使用+,这时+就是 ...

回答的真详细
作者: 张志民    时间: 2014-5-19 20:50
学习了学习了
作者: alax    时间: 2014-5-19 20:54
学习了  谢谢
作者: 周俊波    时间: 2014-5-19 21:03
  1. public class Test4 {
  2.         public static void main(String[] args) {
  3.                 int x=1,y=2;
  4.         String s = "x,y";
  5.         System.out.println(s + x + y);
  6.         System.out.println(x + y + s);
  7.         }
  8. }
复制代码

结果:x,y12  
         3x,y
+是一个左运算符,按照顺序来的,如果左边是一个字符串类型则+是一个连接运算符,如果第一个和第二个还是都还是int  则+就是一个算数运算符




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