为啥m,n的值没有改变?

来源:5-1 基本数据类型的传值

墙头总是换个不停

2020-07-03 14:55:28

package method;


public class SwapDemo {

    public void swap(int a,int b)

    {

    int temp;

    System.out.println("交换前:a="+a+",b="+b);

    temp=a;a=b;b=temp;

    System.out.println("交换后:a="+a+",b="+b);

    }

    public void swapTest() {

    int m=4,n=5;

    System.out.println("交换前:m="+m+",n="+n);

    swap(m,n);

    System.out.println("交换后:m="+m+",n="+n);

    }

public static void main(String[] args) {

// TODO Auto-generated method stub

            SwapDemo ed=new SwapDemo();

            ed.swapTest();

            

}


}

输出结果:

交换前:m=4,n=5

交换前:a=4,b=5

交换后:a=5,b=4

交换后:m=4,n=5


写回答

1回答

好帮手慕小尤

2020-07-03

同学你好,swapTest()方法中将变量m与n传递到swap(int a,int b)中,则此时swap()方法中的参数(a,b)接收变量m与n,相当于将数据进行赋值,则此时操作的参数(a,b)是新的变量与swapTest()方法中的变量m与n无关。

    所以在swap(int a,int b)中交换的数据,无法影响到swapTest()方法中的变量m与n。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 16556 问题

查看课程