java程序为什么一定要写swap(x,y)

如题所述

swap(x,y)是一个函数,字面意思是交换传入的两个参数的值。

函数内部会将变量x和变量y的值交换,并且打印出交换后的变量值,这里打印的是x=20,y=10

然而这样并不能真正把main函数里面定义的变量x,y的值互相交换,因为在这里传递给swap()函数的变量只是x,y的一个拷贝,然后再在函数内部对这个副本的值进行交换是不会对原来的x,y的值造成影响。

所以main函数里最后会打印出x=10,y=20

如果想要真正实现交换全部变量x,y的值,只需要把swap函数定义成static void swap(Integer x,Integer y),函数内部再对其进行交换就可以了。这里用到了Java中的包装数据类型,也称原始数据类型,用对象来接受传递过来的数据,然后对象就会指向全局变量x,y的内存地址,这个作用相当于C语言中的指针。这是让swap函数起作用的关键原理所在。

并不是所有的Java程序中都会用到这个函数,根据业务需要进行保留或删除吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-06
有么 为什么我写的从来不写
相似回答