java方法,为什么数字没有交换?如果想实现这个功能我应该怎么修改?

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