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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李柯 中级黑马   /  2012-3-26 19:14  /  3670 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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   
对于这个结果希望谁能解释一下?

7 个回复

倒序浏览
Test的2个成员变量你都没有赋值,类加载之后,s1和s2自动初始化就变成null了
下面 s3 = s1 + s2; 就是 null+null = nullnull了~
回复 使用道具 举报
s1和s2的值为null,s1+s2就是将s1和s2拼接成一个新的字符串,所以s3的值就为nullnull
回复 使用道具 举报
Test的2个成员变量你都没有赋值,类加载之后,s1和s2自动初始化就变成null了
下面 s3 = s1 + s2; 就是 null+null = nullnull了~
回复 使用道具 举报
你没有给s1,s2赋值,他们的初始值为null,所以s3就也是null
回复 使用道具 举报
首先你定义的是两个字符串变量 s1 和 s2,储存在方法区,系统会默认为字符串初始化值为 null
两个字符串相加之后结果就是 nullnull 。
回复 使用道具 举报
null其实相当于一个字符串
回复 使用道具 举报
魏明明 黑马帝 2012-3-27 00:00:21
8#
String类型的变量  默认初始化值为null 因为你没有对s1 s2赋值  而直接进行输出   就相当于s1与s2的值 null+null就为nullnull所以输出的 结果为nullnll
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马