`
dyy_gusi
  • 浏览: 209441 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java中交换两个数的各种方法

    博客分类:
  • Java
阅读更多

给两个数a和b,然后交换a和b的值。
方式一:通过临时变了存放交换

int a = 2;
int b = 3;

System.out.println("a=" + a + ",b=" + b);
int temp = a;
a = b;
b = temp;
System.out.println("a=" + a + ",b=" + b);

 
方式二:通过加减计算交换

int a = 2;
int b = 3;

System.out.println("a=" + a + ",b=" + b);
a = a + b;
b = a - b;
a = a - b;
System.out.println("a=" + a + ",b=" + b);

 
方式三:通过异或运算交换

int a = 2;
int b = 3;

System.out.println("a=" + a + ",b=" + b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("a=" + a + ",b=" + b);

 
总结:
    方式一是最常见的,可读性高,但是需要在内存中存放临时变量,但是对于现在来说,需要的内存空间很小,而且存放临时变量的内存很快就会释放,不存在问题。
    方式二有缺陷,当两个数相加之后,可能其结果超出了变量类型能表达的最大范围,这个时候结果就会出问题,不推荐使用
    方式三效率是最高的,但是可读性不是很好。
    在程序中我们应该尽可能的使用方式一,提高程序的可读性。但是需要了解方式三,以及方式三的原理。

分享到:
评论

相关推荐

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

    在给定的代码片段和描述中,我们探讨了使用C#和Java实现两数交换的三种常见方法。这些方法不仅展示了基本的编程技巧,还反映了不同语言特性和效率考量。 ### 方法一:使用临时变量 这是最直观的方法,通过引入一个...

    Java 程序交换两个数字.docx

    Java 程序交换两个数字的方法主要有三种:使用第三个变量、不使用额外变量以及使用异或操作。下面分别详细介绍这三种方法。 1. 使用第三个变量交换值 这种方法是最直观的,也是大多数初学者首选的方式。它涉及到...

    函数指针来交换两个数

    用一个函数指针来交换两个数

    两个书交换最小内存方法

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

    Java实现两个整数交换

    本人上传的第一个作品,超级简单,两个整数交换的经典例子,是在一个类中实现的,给JAVA初学者一个借鉴。希望在技术上共同进步

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

    在Java中,交换两个变量的...综上所述,Java中交换两个变量的值有多种方法,每种方法都有其适用场景。理解Java的参数传递机制对于选择合适的方法至关重要。在实际编程中,要根据需求选择最高效且符合代码可读性的方式。

    给两个整型变量赋值,然后交换两个变量的值,最后输出交换后的变量值。

    给两个整型变量赋值,然后交换两个变量的值,最后输出交换后的变量值。

    两个数字的交换,三种方法

    使用三种方法交换来个数字 方法一:使用第三方变量交换数据; 方法二:使用加减法,并且不使用第三方变量 思路:a加上b的和,减去a,就等于b,再用这个数减去b,就等于a。 方法三:使用异或方法交换,...

    Java实现两个聊天窗口

    在Java编程中,实现两个聊天窗口的交互是一个典型的多线程和网络通信的应用场景。这里,我们将探讨如何利用Java的相关技术来完成这个任务。 首先,我们需要理解基础的Java GUI(图形用户界面)组件,如JFrame、...

    java比较四个数的大小(二类个)

    该程序由两个类组成:`compare` 和 `printresult`。 - **`compare` 类**:负责接收四个整数并对其进行排序。 - **`printresult` 类**:包含主函数 `main`,用于获取用户输入并调用 `compare` 类来处理数据。 #### ...

    Java对象交换方法剖析.pdf

    Java对象交换方法剖析这篇论文深入探讨了在Java中如何交换两个对象的问题,并提供了相应的技术实现和分析。首先,文章介绍Java内存分配机制,指出对象实例通常存放在堆内存中,而静态和非静态方法等存放在栈内存中。...

    java 交换两个数据的方法实例详解

    总结来说,Java中交换两个数据的方法可以根据具体场景选择合适的方式。对于数组元素,使用数组直接交换是一种高效且直观的方法;而对于独立的对象或变量,可以通过创建临时对象来实现交换。理解这些基础操作对于编写...

    java 四种数据交换经典

    这种方法是最直观、最简单的方法之一,其基本思路是引入一个临时变量来存储其中一个变量的值,然后通过一系列赋值操作完成两个变量值的交换。 **示例代码解析:** ```java int x1 = 2147483647; int y1 = ...

    交换排序Java实现

    冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的...

    Java不使用中间变量交换两个数

    这些方法虽然都能在Java中成功地交换两个数,但要注意的是,某些方法可能在其他语言中不适用,比如整数溢出或者除法的处理。因此,在实际编程中,应考虑语言特性和上下文环境,选择最合适的方法。

    Java对象交换方法剖析.zip

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

    webservice 实现 两个数相加

    Web服务的核心是使客户端能够远程调用服务器上的特定方法,即“两个数相加”。这意味着,即使客户端和服务器位于不同的机器上,只要两者都支持Web服务协议,就可以实现数据交换。 【标签】"WebService Java 实例" ...

    交换两个变量的值.java

    交换两个变量的值.java

    java中两个byte数组实现合并的示例

    总结来说,Java中合并两个`byte`数组可以通过创建新的数组并使用`System.arraycopy()`方法来实现。如果需要进一步处理合并后的数组,如反转或加密,可以分别使用自定义函数或Java内置的加密库。这些操作在处理二进制...

    Java代码实现随机生成汉字的方法

    Java代码实现随机生成汉字的方法 Java代码实现随机生成汉字的方法是指利用Java语言编写的程序来随机生成汉字。该方法可以生成随机的汉字,满足特定的需求。 背景知识 -------- GB 2312-80 是中国国家标准简体中文...

Global site tag (gtag.js) - Google Analytics