黑马程序员技术交流社区

标题: 关于String s3=s1+s2的运行结果? [打印本页]

作者: 李柯    时间: 2012-3-26 19:14
标题: 关于String s3=s1+s2的运行结果?
class Test
{
   private static String s1;
   private static String s2;
   public static void main (String[] args)
  {
    String s3=s1+s2;
    System.out.println(s3);
  }       
}
运行结果:nullnull   
对于这个结果希望谁能解释一下?
作者: 龚龙    时间: 2012-3-26 19:24
Test的2个成员变量你都没有赋值,类加载之后,s1和s2自动初始化就变成null了
下面 s3 = s1 + s2; 就是 null+null = nullnull了~
作者: lipanfeng    时间: 2012-3-26 19:28
s1和s2的值为null,s1+s2就是将s1和s2拼接成一个新的字符串,所以s3的值就为nullnull
作者: 杨华威    时间: 2012-3-26 20:46
Test的2个成员变量你都没有赋值,类加载之后,s1和s2自动初始化就变成null了
下面 s3 = s1 + s2; 就是 null+null = nullnull了~
作者: 党传才    时间: 2012-3-26 20:55
你没有给s1,s2赋值,他们的初始值为null,所以s3就也是null
作者: 黄长利    时间: 2012-3-26 21:01
首先你定义的是两个字符串变量 s1 和 s2,储存在方法区,系统会默认为字符串初始化值为 null
两个字符串相加之后结果就是 nullnull 。
作者: 李增强    时间: 2012-3-26 23:54
null其实相当于一个字符串
作者: 魏明明    时间: 2012-3-27 00:00
String类型的变量  默认初始化值为null 因为你没有对s1 s2赋值  而直接进行输出   就相当于s1与s2的值 null+null就为nullnull所以输出的 结果为nullnll




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