🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Java 程序:反转数字 > 原文: [https://www.programiz.com/java-programming/examples/reverse-number](https://www.programiz.com/java-programming/examples/reverse-number) #### 在此程序中,您将学习在 Java 中使用`while`循环和`for`循环来反转数字。 ## 示例:在 Java 中使用`while`循环反转数字 ```java public class ReverseNumber { public static void main(String[] args) { int num = 1234, reversed = 0; while(num != 0) { int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; } System.out.println("Reversed Number: " + reversed); } } ``` 运行该程序时,输出为: ```java Reversed Number: 4321 ``` 在此程序中,`while`循环用于按以下步骤反转数字: * 首先,将`number`除以 10 的余数存储在变量`digit`中。 现在,`digit`包含`number`的最后一位,即 4。 然后将`reversed`乘以 10 后加上`digit`。 乘 10 在倒序数字中添加一个新位置。 个位乘以 10 可得到十位,十位则可得到百位,依此类推。 在这种情况下,将`reversed`包含`0 * 10 + 4 = 4`。然后 `num`除以 10,因此现在它仅包含前三个数字:123。 * 在第二次迭代后,`digit`等于 3,`reversed`等于`4 * 10 + 3 = 43`,并且`number = 12` * 在第三次迭代后,`digit`等于 2,`reversed`等于`43 * 10 + 2 = 432`,并且`number = 1` * 在第四次迭代后,`digit`等于 1,`reversed`等于`432 * 10 +1 = 4321`,并且`number = 0` * 现在`num = 0`,因此测试表达式`num != 0`失败并且`while`循环退出。 `reversed`已经包含颠倒的数字 4321。 * * * ## 示例 2:在 Java 中使用`for`循环反转数字 ```java public class ReverseNumber { 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); } } ``` 运行该程序时,输出为: ```java Reversed Number: 7654321 ``` 在上面的程序中,`while`循环被 for 循环替换,其中: * 不使用初始化表达式 * 测试表达式保持不变(`num != 0`) * 更新/递增表达式包含`num /= 10`。 因此,每次迭代之后,更新表达式都会运行,该表达式将删除`num`的最后一位。 当`for`循环退出时,`reversed`将包含颠倒的数字。