public class demo { public static void main(String args[]) { foo(false, true); int x = 11 & 9; int y = x ^ 3; /** * 首先,我们来解析一下这段代码。 * * int x = 11 & 9; 这一行使用了位与运算符(&),将数字11和9进行按位与操作。在二进制中,11表示为1011,9表示为1001。按位与操作的规则是:如果两个相应的二进制位都为1,则结果为1,否则为0。因此,11 & 9的结果为1001,即十进制的9。 * * int y = x ^ 3; 这一行使用了位异或运算符(^),将变量x(值为9)和数字3进行按位异或操作。在二进制中,9表示为1001,3表示为0011。按位异或操作的规则是:如果两个相应的二进制位相同,则结果为0,否则为1。因此,9 ^ 3的结果为1010,即十进制的10。 * * System.out.println( y | 12 ); 这一行使用了位或运算符(|),将变量y(值为10)和数字12进行按位或操作。在二进制中,10表示为1010,12表示为1100。按位或操作的规则是:只要有一个相应的二进制位为1,则结果为1,否则为0。因此,10 | 12的结果为1110,即十进制的14。 * * 所以,程序的输出是D. 14。 */ System.out.println( y | 12 ); /** * 输入数组进行去重 */ Scanner scanner = new Scanner(System.in); // 读取输入数组的长度 System.out.print("请输入输入数组的长度:"); int n = scanner.nextInt(); // 读取输入数组的元素 System.out.print("请输入输入数组的元素:"); int[] nums = new int[n]; for (int i = 0; i < n; i++) { nums[i] = scanner.nextInt(); } // 使用 Stream API 去重并转为数组 int[] result = Arrays.stream(nums) .distinct() .toArray(); // 输出去重后的数组 System.out.println("去重后的数组为:",); for (int num : result) { System.out.print(num + " "); } scanner.close(); } public static void foo(boolean a, boolean b) { if (a) { System.out.println("A"); /* Line 5 */ } else if (a && b) /* Line 7 */ { System.out.println("A && B"); } else /* Line 11 */ { if (!b) { System.out.println("notB"); } else { System.out.println("ELSE"); } } } }