class Demo{
public static void main(String args[]){
String str1 = " I Love You";
fun(str1);
System.out.println(str1);
}
public static void fun(String str1){
str1 = "You Love Me";
}
}
//Demo类中主函数执行完后
//①打印的结果是什么?
//②请分析并写出具体的程序执行流程
//③画出相应的必要图解。 作者: 许鑫星 时间: 2013-2-28 23:06
当然是输出 I Love You 整个程序流程都没有改变过str1的值,至于调用函数的时候,str1是一个形参,由于没有返回值,并不会对主函数的str1值产生影响作者: 张世钦 时间: 2013-2-28 23:34
class Demo{
public static void main(String args[]){
String str1 = " I Love You";//在主函数中定义一个String对象str1,值是 I Love You
fun(str1);//将str1作为参数传递给fun()函数
System.out.println(str1);//打印str1对象(自始至终str1的值是没有变化的)
}
public static void fun(String str1){
str1 = "You Love Me";//将传入的str1对象指向一个新的字符串You Love Me
}
}
程序流程是这样的:
String str1 = " I Love You";//在主函数中定义一个String对象str1,值是 I Love You
fun(str1);//将str1作为参数传递给fun()函数
str1 = "You Love Me";//函数中定义一个String对象str1,指向传入的String对象,然后改变指向一个新的字符串 You Love Me
System.out.println(str1);//打印str1对象(自始至终str1的值是没有变化的)