1-不使用函数:
1)使用变量
temp=a;
a=b;
b=temp;
2)不使用变量
(1)使用异或
a=a^b;
b=a^b;//b=a^b^b;
a=a^b;//a=a^a^b^b;
(2)使用加减
a=a+b;
b=a-b;//b=a+b-b;
a=a-b;//a=a+b-(a+b-b)=a+b-a;
2-使用函数
Java中方法的参数传递:
1)值传递:参数类型为基本数据类型时;
2)引用传递:参数类型为对象类型或数组时;
1)使用数组
public class Swap {
static int[] swap(int a,int b) {
int[] temp=new int[3];
temp[0]=a;
temp[1]=b;
return temp;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int[] temp=swap(a,b);
a=temp[1];
b=temp[0];
System.out.println("a= "+a+" , "+"b= "+b);
}
}
2)使用对象
public class Swap {
public int a,b;
void swap(int a,int b) {
this.a=b;
this.b=a;
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
Swap sw= new Swap();
sw.a=in.nextInt();
sw.b=in.nextInt();
sw.swap(sw.a,sw.b);
System.out.println("a= "+sw.a+" , "+"b= "+sw.b);
}
}