企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Java 程序:使用按位 XOR 运算符交换两个数字 > 原文: [https://beginnersbook.com/2017/09/java-program-to-swap-two-numbers-using-bitwise-xor-operator/](https://beginnersbook.com/2017/09/java-program-to-swap-two-numbers-using-bitwise-xor-operator/) 这个 java 程序使用[按位 XOR 运算符](https://beginnersbook.com/2017/08/operators-in-java/)交换两个数字。在通过程序之前,让我们看看什么是按位 XOR 运算符:按位 XOR 比较两个操作数的相应位,如果它们相等则返回 1,如果它们不相等则返回 0。例如: ```java num1 = 11; /* equal to 00001011*/ num2 = 22; /* equal to 00010110 */ ``` `num1 ^ num2`比较`num1`和`num2`的相应位,如果它们不相等则生成 1,否则返回 0.在我们的例子中它将返回 29,相当于 00011101 让我们在 [Java](https://beginnersbook.com/java-tutorial-for-beginners-with-examples/) 程序中写一下: ## 示例:使用按位运算符交换两个数字 ```java import java.util.Scanner; public class JavaExample { public static void main(String args[]) { int num1, num2; Scanner scanner = new Scanner(System.in); System.out.print("Enter first number:"); num1 = scanner.nextInt(); System.out.print("Enter second number:"); num2 = scanner.nextInt(); /* To make you understand, lets assume I am going * to enter value of first number as 10 and second * as 5\. Binary equivalent of 10 is 1010 and 5 is * 0101 */ //num1 becomes 1111 = 15 num1 = num1 ^ num2; //num2 becomes 1010 = 10 num2 = num1 ^ num2; //num1 becomes 0101 = 5 num1 = num1 ^ num2; scanner.close(); System.out.println("The First number after swapping:"+num1); System.out.println("The Second number after swapping:"+num2); } } ``` **输出:** ```java Enter first number:10 Enter second number:5 The First number after swapping:5 The Second number after swapping:10 ```