Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序交换两个数字

Java 实例大全

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

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

public class SwapNumbers {

    public static void main(String[] args) {

        float first = 1.20f, second = 2.45f;

        System.out.println("--交换前--");
        System.out.println("第一个数字 = " + first);
        System.out.println("第二个数字 = " + second);

        //first的值被分配给temporary
        float temporary = first;

        //second的值被赋给first
        first = second;

        //临时的值(包含first的初始值)被赋给second
        second = temporary;

        System.out.println("--交换后--");
        System.out.println("第一个数字 = " + first);
        System.out.println("第二个数字 = " + second);
    }
}

运行该程序时,输出为:

--交换前--
第一个数字 = 1.2
第二个数字 = 2.45
--交换后--
第一个数字 = 2.45
第二个数字 = 1.2

在上面的程序中,要交换的两个数字1.20f和2.45f分别存储在变量first和second中。

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

  • 首先,first的值存储在临时变量temporary(temporary = 1.20f)中。

  • 然后,second的值存储在first中(first = 2.45f)。

  • 并且,最终的值temporary存储在second(second = 1.20f)中。

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

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

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

public class SwapNumbers {

    public static void main(String[] args) {

        float first = 12.0f, second = 24.5f;

        System.out.println("--交换前--");
        System.out.println("第一个数字 = " + first);
        System.out.println("第二个数字 = " + second);

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

        System.out.println("--交换后--");
        System.out.println("第一个数字 = " + first);
        System.out.println("第二个数字 = " + second);
    }
}

运行该程序时,输出为:

--交换前--
第一个数字 = 12.0
第二个数字 = 24.5
--交换后--
第一个数字 = 24.5
第二个数字 = 12.0

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

对于操作,存储(first - second)很重要。这存储在变量中first。

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

然后,我们只需在该数字上加上 second(24.5f)-计算出的first(12.0f - 24.5f)即可交换该数字。

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

现在,second持有12.0f(它最初是first的值)。因此,我们从交换的第二(12.0f)中减去计算第一(12.0f - 24.5f)得到另一个交换的数字。

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

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

Java 实例大全