📜  交换两个数字的Java程序

📅  最后修改于: 2020-09-26 19:28:23             🧑  作者: Mango

在此程序中,您将学习两种在Java中交换两个数字的技术。第一个使用临时变量进行交换,而第二个不使用任何临时变量。

示例1:使用临时变量交换两个数字
public class SwapNumbers {

    public static void main(String[] args) {

        float first = 1.20f, second = 2.45f;

        System.out.println("--Before swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);

        // Value of first is assigned to temporary
        float temporary = first;

        // Value of second is assigned to first
        first = second;

        // Value of temporary (which contains the initial value of first) is assigned to second
        second = temporary;

        System.out.println("--After swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);
    }
}

输出

--Before swap--
First number = 1.2
Second number = 2.45
--After swap--
First number = 2.45
Second number = 1.2

在上面的程序中,两个要交换的数字1.20f2.45f存储在变量中:分别是firstsecond

在交换之前使用println()打印变量,以在交换完成后清楚地看到结果。

  • 首先, first的值存储在临时变量中( temporary = 1.20f )。
  • 然后, second的值存储在first ( first = 2.45f )中。
  • 并且, 临时值的最终值存储在second ( second = 1.20f )中。

这样就完成了交换过程,并且变量被打印在屏幕上。

请记住, 临时的唯一用途是在交换之前保留first的值。您也可以不使用临时交换数字。


示例2:交换两个数字而不使用临时变量
public class SwapNumbers {

    public static void main(String[] args) {

        float first = 12.0f, second = 24.5f;

        System.out.println("--Before swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);

        first = first - second;
        second = first + second;
        first = second - first;

        System.out.println("--After swap--");
        System.out.println("First number = " + first);
        System.out.println("Second number = " + second);
    }
}

输出

--Before swap--
First number = 12.0
Second number = 24.5
--After swap--
First number = 24.5
Second number = 12.0

在上面的程序中,我们使用简单的数学来交换数字,而不是使用临时变量。

对于操作,存储(first - second)很重要。这被存储在可变第一

first = first - second;
first = 12.0f - 24.5f

然后,我们只向该数字添加 第二个 ( 24.5f )- 首先计算( 12.0f - 24.5f )以交换该数字。

second = first + second;
second = (12.0f - 24.5f) + 24.5f = 12.0f

现在, 第二个保持12.0f (最初是第一个的值)。因此,我们从被交换的第二个 ( 12.0f )中减去首先计算出的( 12.0f - 24.5f 12.0f )以获得另一个被交换的数字。

first = second - first;
first = 12.0f - (12.0f - 24.5f) = 24.5f

交换的数字使用println()在屏幕上打印。