JAVA选择题,请给出分析过程
)分析下面的Java程序段,编译运行后的输出结果是()。publicclassTest{publicvoidchangeString(StringBuffersb){sb...
) 分析下面的Java程序段,编译运行后的输出结果是( )。
public class Test {
public void changeString(StringBuffer sb) {
sb.append(“stringbuffer2″);
}
public static void main(String[] args) {
Test a = new Test();
StringBuffer sb = new StringBuffer(“stringbuffer1″);
a.changeString(sb);
System.out.println(“sb = ” + sb);
}
}
A. sb = stringbuffer2stringbuffer1
B. sb = stringbuffer1
C. sb = stringbuffer2
D. sb = stringbuffer1stringbuffer2 展开
public class Test {
public void changeString(StringBuffer sb) {
sb.append(“stringbuffer2″);
}
public static void main(String[] args) {
Test a = new Test();
StringBuffer sb = new StringBuffer(“stringbuffer1″);
a.changeString(sb);
System.out.println(“sb = ” + sb);
}
}
A. sb = stringbuffer2stringbuffer1
B. sb = stringbuffer1
C. sb = stringbuffer2
D. sb = stringbuffer1stringbuffer2 展开
3个回答
展开全部
StringBuffer sb = new StringBuffer(“stringbuffer1″);
到这里里面内容是stringbuffer1
a.changeString(sb);
把这个对象传入方法里进行操作,新加内容stringbuffer2,最后对象里的内容变成stringbuffer1stringbuffer2
System.out.println(“sb = ” + sb);
最后输出的就是D:
sb = stringbuffer1stringbuffer2
到这里里面内容是stringbuffer1
a.changeString(sb);
把这个对象传入方法里进行操作,新加内容stringbuffer2,最后对象里的内容变成stringbuffer1stringbuffer2
System.out.println(“sb = ” + sb);
最后输出的就是D:
sb = stringbuffer1stringbuffer2
展开全部
结果是什么你运行一下不就知道了,我目测是B,答D的对实际参传递没理解透彻,当时我们大学教授是这样做比喻的,实参给函数或方法的形参时,只会把值传过去然后自己本身的内存地址并不会传,就好比明星找替身这事一样,遇到一些完不成的动作,明星会找替身来演,实参在这里就是明星,形参就是替身
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你要了解一下String 和 StringBuffer的区别了。
String和StringBuffer 都可以声明字符串对象,但是区别是:String声明的变量,字符串不可以改变,
而StringBuffer声明的字符串,可以通过append() 方法,对字符串进行追加,是可以改变字符串的。
String和StringBuffer 都可以声明字符串对象,但是区别是:String声明的变量,字符串不可以改变,
而StringBuffer声明的字符串,可以通过append() 方法,对字符串进行追加,是可以改变字符串的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询