`

不利用临时变量,交换两个变量的值

阅读更多
public class ChangeValue
{
    
    /** 
     * <不用第三个变量,交换两个变量的值>
     */
    public static void main(String[] args)
    {
        //方法一  精简,一行代码搞定 
        int x = 3, y = 7;
        System.out.printf("x = %d, y = %d\n", x, y);
        x = y + 0 * (y = x); 
        System.out.printf("x = %d, y = %d\n", x, y);
        
        //方法二   简单明了 
        int p = 4, q = 9;
        System.out.printf("p = %d, q = %d\n", p, q);
        p = p + q; //7
        q = p - q; // 7-5=2  q == p
        p = p - q; //7-2  
        System.out.printf("p = %d, q = %d\n", p, q);
        
        //方法三  兼容,支持Integer.MAXVALUE的+操作  
        int a = 2, b = 5;
        System.out.printf("a = %d, b = %d\n", a, b);
        a ^= b;
        b ^= a;
        a ^= b;
        System.out.printf("a = %d, b = %d\n", a, b);
        
        //方法四  字符串 数组
        String s1 = "111", s2 = "222";
        System.out.printf("s1 = %s, s2 = %s\n", s1, s2);
        s1 = s1 + "," + s2;
        s2 = s1;
        s1 = s1.split(",")[1];
        s2 = s2.split(",")[0];
        System.out.printf("s1 = %s, s2 = %s\n", s1, s2);
        
        //方法五  字符串 表达式(类似方法一)
        String str1 = "aaa", str2 = "bbb";
        System.out.printf("str1 = %s, str2 = %s\n", str1, str2);
        str1 = str2 + ((str2 = str1) == "" ? "" : "");
        System.out.printf("str1 = %s, str2 = %s\n", str1, str2);
    }
    
}
分享到:
评论

相关推荐

    示例代码:不经过中间变量交换两个数

    以下是一段C语言代码示例,演示了如何使用位异或运算符实现不使用额外变量交换两个数的值: ```c void main() { int a = 3; int b = 1; // 第一步:a = a ^ b a = a ^ b; // a 的值现在是 3 ^ 1 = 2 // 第二...

    易语言交换变量值

    如果我们要交换两个整数变量A和B的值,可以这样操作: ```e A = A + B B = A - B A = A - B ``` 在这个过程中,A和B通过加法和减法实现了值的互换,而没有使用额外的临时变量。 对于文本类型的变量,交换过程稍微...

    BAT批处理脚本-加密解密-交换两个变量的值而不使用临时变量.zip

    总的来说,这个压缩包提供了一个关于批处理脚本中如何不使用临时变量交换两个变量值的示例,同时提醒了我们批处理脚本在加密解密、文件操作和自动化方面的应用。学习和理解这些概念,可以帮助我们更好地利用批处理脚...

    不要采用异或来交换两个变量

    传统的变量交换方法通常采用一个临时变量来进行值的存储与传递。例如: 1. **定义临时变量**:`int temp;` 2. **保存原始值**:`temp = a;` 3. **交换值**:`a = b;` 4. **恢复值**:`b = temp;` #### 异或交换法...

    用异或来交换两个变量能提高速度是错误的

    1. **传统方法**:使用一个临时变量来帮助交换两个变量的值。这种方法简洁明了,易于理解。 ```c void reverse_by_swap(char* str, int n) { char* begin = str; char* end = str + n - 1; while (begin ) { ...

    交换两个变量的值,不使用第三个变量的方法及实现.pdf

    本文主要介绍了四种不使用第三个变量来交换两个变量值的方法,适用于C/C++编程语言。 1. **算术运算**: 这种方法基于算术运算,例如加减法或乘除法。通过巧妙地使用算术运算,可以在不借助额外变量的情况下完成...

    交换两个变量的值,不使用第三个变量的方法及实现.docx

    在编程中,交换两个变量的值是一个常见的任务,但有时我们可能希望避免使用第三个临时变量。本文探讨了几种不依赖额外变量实现交换的方法,主要针对C/C++编程语言。 1. **算术运算**: 算术运算方法利用加减法或乘...

    python交换两个变量的值方法

    在许多编程语言中,如C语言,交换两个变量的值通常需要引入一个临时变量来存储其中一个变量的值。具体步骤如下: 1. 将变量`a`的值保存到临时变量`tmp`中。 2. 将变量`b`的值赋给变量`a`。 3. 最后,将临时变量`tmp...

    易语言源码易语言交换变量值源码.rar

    在计算机编程中,交换两个变量的值是一个常见的操作,例如在排序算法或者数据处理中。在易语言中,我们可以使用多种方法来实现这个功能。首先,我们可以使用第三个临时变量作为中介,将其中一个变量的值暂存,然后将...

    Delphi变量值交换演示示例.rar

    本示例主要针对Delphi编程语言,展示了多种不同的方法来交换两个变量的值。以下是对标题和描述中涉及知识点的详细解释: 1. **中间变量法**:这是最直观的方法,通常用于初学者。首先创建一个临时变量,将一个变量...

    不使用第三个变量进行交换的三种方式以及隐藏隐患

    在不使用第三个变量交换两个变量的值时,常见的方法有三种,分别是利用加法和减法,利用异或运算,以及利用位运算。这三种方法各自有不同的特点和潜在问题,以下是详细的知识点。 ### 1. 利用加减法交换变量 加...

    nihao.rar_代码 变量交换

    在C/C++这样的语言中,当我们想要交换两个变量a和b的值,传统的做法是借助一个临时变量: ```c++ int a = 5; int b = 10; int temp; temp = a; // 将a的值暂存到temp a = b; // 将b的值赋给a b = temp; // 将temp...

    变量交换的几种常见方法

    最直观的变量交换方式通常是通过一个临时变量来完成,即创建一个额外的变量存储其中一个变量的值,再进行交换。然而,这种方式虽然简单易懂,但在某些情况下(如内存资源紧张的环境)可能不是最优选择。因此,我们...

    JavaScript交换两个变量方法实例

    使用一个临时变量来交换 2.方案二 使用ES6解构赋值语法来交换 3.方案三 利用数组 根据运算符的优先级,首先执行b=a,将a的值赋值给b,然后通过数组索引将b赋值给a,一行代码解决两值的交换。 4.方案四 先让a变成a...

    C语言在不创建变量的情况下,交换两个变量的数据(面试题)

    通常,我们使用一个临时变量来存储其中一个变量的值,然后将另一个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。但是,在不允许使用额外变量的情况下,我们需要采用其他策略。 一种解决方法是利用...

    PHP不用第三变量交换2个变量的值的解决方法

    但在某些特定场景,比如面试题目的限制或者是为了避免创建额外的临时变量,我们需要寻找不使用第三个变量的解决方法。 在PHP中,有几种方法可以在不使用第三变量的情况下实现变量值的交换: 1. 使用 substr() 和 ...

    JavaScript两个变量交换值的实现方法

    以上就是JavaScript中实现两个变量交换值的几种方法。每种方法都有其特定的应用场景和优势。对于初学者而言,理解这些不同的交换方法将有助于提升编程技巧。在实际应用中,选择合适的方法将取决于变量的类型、数据...

    Delphi交换两个变量值的方法(含示例)

    XOR运算符在某些情况下可以用于无中间变量交换两个变量的值,但仅适用于整数类型。 ```delphi var A, B: Integer; begin A := 5; B := 10; A := A XOR B; B := A XOR B; A := A XOR B; Writeln('A: ', A...

    Python3之不使用第三方变量,实现交换两个变量的值

    本文介绍了两种在Python中不使用第三方变量交换两个变量值的方法。第一种方法利用了Python中的元组赋值特性,简洁且高效;第二种方法则通过基本的算术运算来实现,虽然简单明了,但在某些特殊情况下可能不是最优选择...

Global site tag (gtag.js) - Google Analytics