黑马程序员技术交流社区
标题:
变量交换的问题~
[打印本页]
作者:
万正
时间:
2012-3-24 22:18
标题:
变量交换的问题~
class Demo1
{
public static void main(String[] args) {
int a=2;
int b=3;
swap(a,b);
System.out .println("out"+a+b);
}
public static void swap(int a ,int b){
int temp =a;
a=b;
b=temp;
System.out .println("in"+a+b);
}
}
复制代码
运行结果:
in:3:2
out:2:3
c#里面可以在变量前加上ref关键字解决这一问题
java里该如何解决呢?
作者:
张一凡
时间:
2012-3-24 22:25
没看懂LZ想问什么,C#的ref表示什么呢?
表示没学过C#,杯具了。
作者:
lipanfeng
时间:
2012-3-24 22:32
好像只能通过第三方变量来交换两个变量的值
作者:
杨朝辉
时间:
2012-3-24 23:02
Java函数在传递过程中只能够传值,不能传址。这样,函数的参数在函数内部做任何变化就都不会反映到外部调用者来。一个好的方法就是将参数列表改成数组。
作者:
冯建鹏
时间:
2012-3-25 00:24
个人理解:
swap(int a ,int b)方法传递的值的时候虽然代码传递进去的是swap(a,b);把a和b传递进去了,其实是其对应的值,2、3,相当于把这两个数字传递进去了,这个函数晕死完后2和3 是换了位置,但是main方法里面的a=2,b=3还没变化吧。不知道这样理解是否正确呢?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2