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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



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类中主函数执行完后

//①打印的结果是什么?

//②请分析并写出具体的程序执行流程

//③画出相应的必要图解。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

3 个回复

正序浏览
OK, 如果是高手!{:soso_e129:}
回复 使用道具 举报
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的值是没有变化的)

111.png (15.91 KB, 下载次数: 11)

111.png

评分

参与人数 2技术分 +1 黑马币 +24 收起 理由
陈丽莉 + 1
付玉光 + 24 OK, 如果是高手!{:soso_e129:}

查看全部评分

回复 使用道具 举报
当然是输出 I Love You  整个程序流程都没有改变过str1的值,至于调用函数的时候,str1是一个形参,由于没有返回值,并不会对主函数的str1值产生影响
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马