反转数字的 Java 程序

在本程序中,您将学习使用 Java 中的 while 循环和 for 循环来反转数字。

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:在 Java 中使用 while 循环反转数字

public class Main {
  public static void main(String[] args) {

    int num = 1234, reversed = 0;

    // run loop until num becomes 0
    while(num != 0) {

      // get last digit from num
      int digit = num % 10;
      reversed = reversed * 10 + digit;

      // remove the last digit from num
      num /= 10;
    }

    System.out.println("Reversed Number: " + reversed);
  }
}

输出

Reversed Number: 4321

在这个程序中,while 循环用于反转一个数字,如以下步骤所示:

  • 首先,num 除以 10 的余数存储在变量 digit 中. 现在 digit 包含 num 的最后一位数字 ,即 4。 此时, reversed 等于 0 * 10 + 4 = 4num 然后除以 10,现在它只包含前三位数字:123。
  • 第二次迭代后, digit 等于 3, reversed 等于 4 * 10 + 3 = 43, num = 12
  • 第三次迭代后, digit 等于 2, reversed 等于 43 * 10 + 2 = 432, num = 1
  • 第四次迭代后, digit 等于 1, reversed 等于 432 * 10 + 1 = 4321, num = 0
  • 现在 num= 0,所以测试表达式 num != 0 失败,while 循环退出。reversed 已经包含所有的数字 4321

示例 2:在 Java 中使用 for 循环反转数字

public class Main {
  public static void main(String[] args) {

    int num = 1234567, reversed = 0;

    for(;num != 0; num /= 10) {
      int digit = num % 10;
      reversed = reversed * 10 + digit;
    }

    System.out.println("Reversed Number: " + reversed);
  }
}

输出

Reversed Number: 7654321

在上面的程序中,while 循环被 for 循环替换,其中:

  • 没有使用初始化表达式
  • 测试表达式保持不变 ( num != 0 )
  • 更新/增量表达式包含 num /= 10 .

因此,每次迭代后,更新表达式都会运行,删除 num 的最后一位.

当 for 循环退出时, reversed 将包含相反的数字。