在 Java 中的增强 for 循环中使用 xor 运算符

Using xor operator in enhanced for loop in Java

抱歉,如果这是重复的,但我尽了最大的努力,但找不到我到底做错了什么。我正在研究 java 概念,希望在来年参加认证考试,并且我正在研究增强的 for 循环并习惯使用它们。我尝试制作一个增强的 for 循环来搜索数组,并使用 xor (^) 运算符来确定与另一个变量匹配的元素的位置。我目前拥有的代码是:

int[] x = {17, 16, 15};
    int y = 16;
    int z;
    for (int a : x) {
        z = x[a]^16;

        if (z==0)
            System.out.println(a);
        else;
    }

我似乎无法弄清楚为什么会出现错误。我知道这与我在 (z=x[a]^16) 访问数组的方式有关,有没有更好的方法来编写我只是没有看到的?感谢先进的帮助。

增强的 for 循环提供数组或列表中的每个元素,而不是元素的索引。所以,第一次,a = 17.x[17] 应该给出一个数组索引异常。请注意,您的代码之所以能够编译,是因为您创建了一个 int 数组;如果它是一个字符串数组,那么你最终会遇到编译错误。

将来,包括您在 运行 代码时收到的错误消息。