Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-按值传递示例_Java_Methods_Pass By Value - Fatal编程技术网

Java-按值传递示例

Java-按值传递示例,java,methods,pass-by-value,Java,Methods,Pass By Value,我有一个关于Java按值传递的问题。我知道在方法之外声明的变量不会改变它们的值,因为当我对变量调用I方法时,该方法将只使用分配给它们的值。但在这种情况下,我不理解为什么int result没有得到2的值。As increment将获得x的值,so 1将其递增1,并将值存储在结果变量中 public class Increment { public static void main(String[] args) { int x = 1; System.o

我有一个关于Java按值传递的问题。我知道在方法之外声明的变量不会改变它们的值,因为当我对变量调用I方法时,该方法将只使用分配给它们的值。但在这种情况下,我不理解为什么int result没有得到2的值。As increment将获得x的值,so 1将其递增1,并将值存储在结果变量中

public class Increment {
      public static void main(String[] args) {
        int x = 1;
        System.out.println("Before the call, x is " + x);
        int result = increment(x);
        System.out.println("After the call, x is " + result);
      }
      public static int increment(int n) {
       return n++;

      }
    }

后增量运算符n++将n的值递增1,但返回上一个值。因此,递增x返回x,而不是x+1。

尝试返回++n;相反,根据@eran的评论,要获得所需的内容,您需要使用++n。然后,请参见,i++在for循环中如何有用?@yy123q在for循环中,您不会将i++返回的值分配给变量。您只需在i++调用后检查i的值,这将为您提供递增的值。