`
XiaoJun-IT
  • 浏览: 21001 次
社区版块
存档分类
最新评论

Java中不引入第三个变量实现两个变量值的交换

阅读更多
 
	 int a,b; 
	 a=5;b=10; 
	 a=a-b;   //a=-5,b=10 
	 b=b+a;   //a=-5,b=5 
	 a=b-a;   //a=10,b=5 
	 System.out.println("a="+a);
	 System.out.println("b="+b);
	 
	 a=a+b;   //a=15,b=10 
	 b=a-b;   //a=15,b=5 
	 a=a-b;   //a=10,b=5 
	 System.out.println("a="+a);
	 System.out.println("b="+b);
	 
	 a=5;b=10;
	 a=a^b;  //a=15,b=10
	 b=a^b;  //a=15,b=5
	 a=a^b;  //a=10,b=5
	 System.out.println("a="+a);
	 System.out.println("b="+b);
	 
	 a=5;b=10;
	 a=a*b;  //a=50,b=10
	 b=a/b;  //a=50,b=5
	 a=a/b;  //a=10,b=5
	 System.out.println("a="+a);
	 System.out.println("b="+b);
	 
	 a=5;b=10;
	 a = a + b - (b = a); 
	 System.out.println("a="+a);
	 System.out.println("b="+b); 
	 
	 a=5;b=10;
	 b = a + (a = b)*0;  
	 System.out.println("a="+a);
	 System.out.println("b="+b);
 
分享到:
评论

相关推荐

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

    在Java编程中,有时我们需要交换两个变量的值,但又不希望使用额外的第三个变量来辅助这个过程。这种情况下,可以利用位运算中的异或(XOR)操作符来实现两个变量的互换。本文将详细讲解如何通过异或运算在Java中不...

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

    在编程领域,两数交换是基础且常见的操作之一,它涉及到变量值的互换,而无需额外的存储空间。在给定的代码片段和描述中,我们探讨了使用C#和Java实现两数交换的三种常见方法。这些方法不仅展示了基本的编程技巧,还...

    Java中使用异或语句实现两个变量的互换

    在Java编程语言中,有时我们需要交换两个变量的值,例如在数组排序算法或者特定的数据处理逻辑中。传统的方法是引入一个额外的临时变量来完成这个任务。然而,有一种更为巧妙且节省空间的方法,即利用位操作中的异或...

    Java异或运算(简单的加密,解密)

    至于`test.java`,其内容可能是实现两个变量的交换,而不需要借助第三个变量。在传统的交换两个变量的值的方法中,我们通常会引入一个临时变量来存储其中一个值,然后将另一个值赋给第一个变量,最后将临时变量的值...

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

    在Android面试中,Java基础知识是不可或缺的部分,其中涉及到的一个经典陷阱是关于变量赋值的问题,特别是涉及异或操作符的“巧妙”交换变量值的方法。本文以一个具体的例子来阐述这个问题,即`CleverSwap`类中的...

    Java对象交换方法剖析.zip

    - Java 5及以上版本提供了`Integer`包装类,可以使用`compareTo()`或`exchange()`方法(Java 8引入)来交换两个`Integer`对象的值。 2. **引用类型交换**: - 引用交换相对简单,只需将两个引用互相赋值即可,...

    大数据必学Java基础(十六):赋值运算符

    在Java中,交换两个变量的值是常见的操作,但直接使用`=`会导致问题,如以下错误代码所示: ```java int num1 = 10; int num2 = 20; num1 = num2; // 此时num1 = 20, num2 = 20 num2 = num1; // num2仍然为20,两个...

    JAVA中的 =、&=、^=1

    ` 这将交换a和b的值,而无需引入第三个临时变量。 此外,位运算在某些情况下比传统的算术运算更快,因为它们可以直接在计算机的硬件级别上执行。这在处理大量数据或优化性能关键的代码时尤其重要。例如,在处理数组...

    java环境下三种基本结构代码

    3. **变量交换:** 通过引入临时变量`t`实现了`a`和`b`之间的值交换。 4. **输出交换后的值:** 再次使用`System.out.println()`输出交换后的变量值。 #### 二、选择结构(分支结构) **知识点概述:** 选择结构,...

    java异或-Java异或运算总结.pdf

    - **交换两个变量的值**:无需引入额外的变量,可以通过异或操作实现两个整数变量a和b的值互换,`a = a ^ b; b = a ^ b; a = a ^ b;` - **快速判断奇偶性**:通过计算一个整数与1的异或结果,可以确定该数是否为偶数...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

    Java基础整理

    ### Java基础知识点整理 #### 第一章 搭建开发环境 **1.1 配置Java环境** 在配置Java开发环境之前,首先需要下载并安装JDK(Java Development ...- **Pattern和Matcher类**:Java中用于处理正则表达式的两个核心类。

    JAVA数组的排序方法实例.docx

    3. 使用两个嵌套循环来实现冒泡排序。外层循环控制遍历数组的次数,内层循环负责比较相邻元素并根据需要交换它们的位置。 4. 当发现相邻元素逆序时,交换它们的值,通过变量`mid`作为中间存储。 5. 内层循环结束后,...

    Java入门学习笔记

    - Java提供了AWT和Swing两个API来开发GUI应用。 #### 十、AWT(AbstractWindowToolkit)事件模型 - AWT提供了基本的GUI组件和事件处理模型。 #### 十一、The AWT Component Library - AWT组件库包含了各种基本的...

    java面试八股文.pdf

    - 一种开放标准,用于授权第三方应用访问用户资源。 47. **Docker在Java应用部署中的作用** - 提供了一种容器化的解决方案,便于应用的部署和管理。 48. **在Java中实现高效的日志记录** - 使用Log4j、SLF4J等...

    java设计 原则61条

    在第96页中提到,值对象的处理应当合理,特别是当需要比较两个对象是否相等时,应当使用值相等而非引用相等的比较方式。 **原则49:合理使用状态模式** 在第97页中指出,状态模式可以用来处理对象状态的变化,但...

    moea.zip_MOEA JAVA_NSGA II Java_NSGA-II Java_moea_nsga2 java

    5. **交叉与变异**:通过“单点”或“均匀”交叉操作,将两个父代个体的部分基因片段交换,产生新的后代。同时,运用“位翻转”变异操作,随机改变个体的部分基因值,增加种群多样性。 6. **精英保留策略**:确保每...

    Java经典面试

    - 如果两个对象的`equals()`方法返回`true`,那么它们的`hashcode()`方法必须返回相同的值。 - 这是为了保证在哈希表等容器中,根据`hashcode()`找到的对象应该是`equals()`判断下的相等对象。 #### 29. Java中的...

    2024java面试题题目及答案.docx

    - **允许null键和值**:`HashMap`允许一个null键和多个null值,而`Hashtable`不允许任何null键或值。 ### 单元测试的重要性 单元测试是验证软件中最小可测试单元(通常是函数或方法)是否按预期工作的过程。它对于...

Global site tag (gtag.js) - Google Analytics