有人可以向我解释这段代码吗?神秘参数

时间:2014-03-12 04:20:53

标签: parameters

我无法弄清楚如何阅读此代码,如果有人可以向我解释,我将不胜感激。 提前谢谢

public class ParameterMystery {

    public static void main(String[] args) {
        int x = 9;
        int y = 2;
        int z = 5;

        mystery(z, y, x);

        mystery(y, x, z);
    }



    public static void mystery(int x, int z, int y) {
        System.out.println(z + " and " + (y - x));
    }
}

输出:

2 and 4

9 and 3 

2 个答案:

答案 0 :(得分:0)

在'神秘'内部,用于命名变量的字母代表不同的变量(不同的范围),而不是在main中使用它们时 - main(...)中的x不同{{1在神秘内部(...)

答案 1 :(得分:0)

请记住,仅仅因为输入变量具有名称,并不意味着它们被赋值给函数调用中具有相同名称的参数。第二个输入参数始终先打印,然后减去第3个和第1个输入参数。这是迫使你的大脑思考范围的“技巧”。