`

java使用异或操作交换两个整形变量的值.

阅读更多

 废话不多说,直接上代码.

public static void main(String[] args)
		{
			int a =9;
			int b=8;
			a=a^b;
			b=a^b;
			a=a^b;
			System.out.println(a);
			System.out.println(b);
		}

 

分享到:
评论

相关推荐

    Java两个变量的互换(不借助第3个变量)具体实现方法

    当应用于整数或长整型变量时,异或操作符可以用于交换两个变量的值,因为异或两次同一个值总是得到原始值。以下是这种方法的具体步骤: 1. 将变量A与B进行异或操作(A ^ B),将结果赋值给A。这样,A现在存储的是A...

    两数交换的三种方法C#_java 两数交换的三种方法 两数交换方法

    代码首先初始化两个整型变量A和B,分别赋值为2和3。然后,依次执行上述三种交换方法,并在每次交换后打印A和B的值,以便观察结果。 同样,在C#示例代码中,也实现了相同的逻辑。通过点击事件触发,演示了使用临时...

    两个书交换最小内存方法

    **异或交换法**是一种非常有趣的不使用额外变量来交换两个整数的方法。它基于XOR运算的特点,即任何数与自身进行XOR操作结果为0,任何数与0进行XOR操作结果为该数本身。具体步骤如下: 1. **初始化**: - 假设有两...

    android面试题:Java基础(变量赋值陷阱).pdf

    本题讨论了一个试图巧妙地交换两个整型变量`x`和`y`值的陷阱,通过使用异或操作符`^`。然而,这种方法在Java中并不奏效,因为Java的赋值操作符具有从左到右的求值顺序。 首先,我们来分析给出的程序: ```java ...

    只出现一次的数字(java代码).docx

    - 相同的两个数做异或运算,结果为 0,即 `a ^ a = 0`。 - 异或运算满足交换律和结合律,即 `(a ^ b) ^ c = a ^ (b ^ c)` 和 `a ^ b = b ^ a`。 基于以上性质,可以通过对数组中的所有元素执行异或运算来解决问题。...

    java平时实验java平时实验.doc

    CompareTwoNumbers1.java程序则需要你实现输入两个数字并比较大小的功能,这涉及到了键盘输入和条件控制。 总之,Java实验是理论与实践的结合,通过实际操作加深对Java语言的理解,为后续的高级编程打下坚实的基础...

    蓝桥杯java模拟试题.pdf

    在这个问题中,我们需要交换两个整型变量 a 和 b 的值,但是不能使用中间变量。我们可以使用异或运算符 ^ 来实现这个功能。异或运算符 ^ 的性质是:a ^ a = 0,a ^ 0 = a,这样我们可以使用异或运算符来交换 a 和 b ...

    数据结构与算法分析java课后答案.docx

    - 异或运算符(^)可用于交换两个整数的值,如:`int x=5, y=19; x=x^y; y=y^x; x=x^y;` 这种方法不涉及额外的临时变量。 这些是Java编程和数据结构与算法的基础概念,深入学习这些内容对于成为合格的Java开发者至...

    java常用面试题

    此外,代码中还涉及到位操作的示例,例如用异或操作实现无额外空间的整数交换,以及对四个线程同时操作共享变量`j`的简单模拟,这是并发编程中的常见场景,涉及到线程安全和同步问题。 总之,Java面试中可能会遇到...

    常见的java疑难

    7. **互换内容**:CleverSwap展示了异或操作符用于交换两个变量的值。`x^= y^= x^= y`实际上执行了以下操作:`y = x ^ y`, `x = y ^ x`(此时x已经更新),再`y = x ^ y`(x再次更新)。最终,x和y的值互换。 8. **...

    Java 程序设计

    - 使用三个整型变量`a`、`b`、`c`。 - 通过一系列`if`语句对这三个变量进行排序。 - 使用了一个临时变量`t`来进行数值交换。 2. **排序过程**: - 首先比较`a`和`b`,如果`a`大于`b`则交换它们的值。 - 然后...

    javaday03笔记

    - **逻辑异或(^)**: 如果两个操作数相同,则整个表达式的值为`false`;如果两个操作数不同,则整个表达式的值为`true`。 - **逻辑非(!)**: 如果操作数为`true`,则返回`false`;如果操作数为`false`,则返回`true`。...

    java 知识文档+分析源码 汇集day03

    例如,一个简单的加法运算程序,我们创建两个整型变量a和b,将它们相加后输出结果。这是一个非常基础的顺序结构代码,不包含任何的条件判断和循环。 ```java public class A { int a = 1; int b = 1; int sum = ...

    蓝桥杯java模拟试题

    此题是交换两个整型变量`a`和`b`的值,无需额外变量。利用异或操作可以实现。缺失的代码应为: ```java a = a ^ b; b = a ^ b; a = a ^ b; ``` 异或操作的性质是:a ^ a = 0,a ^ 0 = a,所以通过异或两次,a和b的值...

    Java基础.docx

    - **异或运算符** (`^`):用于交换两个数值,利用`num1 ^ num1 = 0` 和 `0 ^ num1 = num1` 的特性。 #### 十一、二维数组定义 1. **静态初始化**:直接定义数组及其元素。 2. **动态初始化**:仅定义数组的行数,...

    Java程序设计课程习题集[定义].pdf

    异或运算符`^`用于按位异或,可用于交换两个整数的值。螺旋方阵的实现涉及二维数组的循环遍历和逻辑判断。 8. **标识符规则**:合法标识符不能以数字开头,不能是Java的关键字,可以包含字母、数字和下划线,区分大...

    紫光华宇软件工程师笔试题

    4. **交换变量值**:在不使用额外变量的情况下,可以使用异或操作来交换两个整数变量`x`和`y`的值:`x = x ^ y; y = x ^ y; x = x ^ y;`。 5. **Spring依赖注入**:DI(Dependency Injection)有助于解耦代码,提高...

    第二章.docx

    1. 交换两个变量的值通常使用中间变量,或者利用异或操作(假设变量为`x`和`y`):`x = x ^ y; y = x ^ y; x = x ^ y;`。 2. 对于一个五位数,可以类似地使用除法和模运算来获取每一位数字,如题目中对四位数的做法...

    bitoperation_jni_AndroidJNI位操作_android_

    3. **在JNI中使用位操作**:在C/C++代码中,我们可以直接对整型变量进行位操作。例如,`int result = value1 & value2;`表示对`value1`和`value2`执行位与操作。位移操作类似,如`result = value ;`将`value`向左...

    java程序设计之网络编程第二版课后习题答案

    这段代码通过异或操作符`^`实现了两个整数`x`和`y`的交换,没有使用额外的临时变量。 **3. 下列哪个是合法的标识符:()。** - A、a=b - B、_Hello - C、2nd - D、Chongqing 答案是B。Java中合法的标识符可以由字母...

Global site tag (gtag.js) - Google Analytics