一切知识都是为了拿来用的,若不用学来干啥?
需求:不用其它变量,实现两个变量的值互换
这是比较常见的 java 初级题目,考察位运算符:异或。
关键代码:
int a = 10;
int b = 20;
System.out.println("运算前:a= " + a + "\tb= " + b);
a = a ^ b;
b = b ^ a;
a = a ^ b;
System.out.println("运算后:a= " + a + "\tb= " + b);
结果:
运算前:a= 10 b= 20
运算后:a= 20 b= 10
关键知识点:
^ :按位异或运算,当两个操作数的二进制表示相同(同为 0 或同为 1)时,结果为 0,否则为 1.
本文介绍了一个常见的 Java 初级面试题——如何在不使用额外变量的情况下交换两个变量的值。通过讲解和示例代码,解释了利用位运算符异或(^)来实现这一操作的原理。
819

被折叠的 条评论
为什么被折叠?



