通过方法更改变量

Jbo*_*boy 0 java core

为什么我的输出等于5?我期待6,因为在"addthenumber(x);"之后 line,方法被调用,我想的是方法执行计算,5变为6.所以sysout应该打印6,但它是如何5?

public class CodeMomkeyPassingvalue 
{
    public static void main(String[] args) 
    {
        int x = 5;
        addthenumber(x);
        System.out.println(x);
    }

    private static void addthenumber(int number) 
    {
        number = number+1;
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

5
Run Code Online (Sandbox Code Playgroud)

Jes*_*per 6

方法的参数按值传递,而不是通过引用传递.这意味着不是变量本身,而是仅将变量的值传递给方法.

可变number的方法中addthenumber是不一样的变量作为变量xmain方法.当您更改的值number,它并没有对变量的任何效应xmain.