public static void main(String[] args) {
int a=2;
int b=3;
jh(a,b);
System.out.println(a);
System.out.println(b);//执行以后发现a,b的值并没有如我所愿交换
}
public static void jh(int a,int b) {//目的是交换
int temp=a;
a=b;
b=temp;
}
在java中,基本数据类型作为参数是直接进行值传递,简单地将变量的实际值拷贝给调用函数的形参赋值。
所以你的jh()方法的实参只是一个拷贝后的副本,你无法对原始变量进行修改
https://blog.csdn.net/dadoneo/article/details/6577976?reload 提供了传递引用值以达到交换原始变量值的几种实现方式。
用类或者数组
https://blog.csdn.net/feeltouch/article/details/79052460
int Integer都是不行的
jh(a,b);方法没有返回值,你只是把 a 和 b参数传递过去了,并没有做出修改,你把输出语句放在jh方法里面,就可以得到a = 3 ; b = 2