反转数字的 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 = 4
。num
然后除以 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
将包含相反的数字。