Java-实现交换两个变量的值。要求:需要交换实参的值。

为了解决这个题目,我们首先要了解参数传递的方法:
参数传递的方法一共有三种:
1、按值传递
2、按引用传递
3、按指针传递

其中按值传递表示方法(函数)接收的是调用者提供的变量的拷贝,不改变参数的值;按引用传递表示方法(函数)接收的调用者提供的变量地址;
按指针传递表示方法(函数)接收的是调用者提供的指针的拷贝,不改变指针的值和地址,但可以改变指针所指向的地址。

在C语言中可以通过传地址的方式改变变量中的值,也就是通过定义指针保存两个变量的地址,在Java中没有指针类型的变量,Java提供的参数传递方法,很遗憾只有一种,按值传递。也就是说,方法得到的是所有参数值的一个拷贝,方法不能修改传递给它的参数变量的内容。所以只能采用按值传递的方式。

(值传递根据形参的类型分为两种,详情请看这篇博客:)
Java参数值传递 swap(a,b)–如何交换a、b的值

package gyy;
public class Main{
    
    
 public static void main(String[] args) {
    
    
  int []a= {
    
    22,33};
  Swap(a);
  for(int x:a) {
    
    
   System.out.println("交换后的数字是:"+x);
  }
 }
 public static void Swap(int []b) {
    
    //引用数组即低配指针
  for(int y:b) {
    
    
   System.out.println("交换前的数字是:"+y);
  }
  for(int i=0;i<b.length-1;i++) {
    
    
   int temp=b[i];
   b[i]=b[i+1];
   b[i+1]=temp;
  }
 }
}

运行结果:

交换前的数字是:22
交换前的数字是:33
交换后的数字是:33
交换后的数字是:22

猜你喜欢

转载自blog.csdn.net/weixin_44378053/article/details/104288635