原文: https://www.programiz.com/java-programming/examples/digits-count
在此程序中,您将学习在 Java 中使用while
循环和for
循环来计算位数。
示例 1:使用while
循环对整数中的位数进行计数
public class NumberDigits {
public static void main(String[] args) {
int count = 0, num = 3452;
while(num != 0)
{
// num = num/10
num /= 10;
++count;
}
System.out.println("Number of digits: " + count);
}
}
运行该程序时,输出为:
Number of digits: 4
在此程序中,将循环while
循环,直到测试表达式num != 0
的值为 0(假)。
- 第一次迭代后,
num
将除以 10,其值将为 345。然后,count
增至 1。 - 在第二次迭代后,
num
的值将为 34,并且count
递增为 2。 - 在第三次迭代后,
num
的值将为 3,并且count
增至 3。 - 第四次迭代后,
num
的值将为 0,并且count
增至 4。 - 然后将测试表达式求值为
false
并终止循环。
示例 2:使用for
循环对整数中的位数进行计数
public class NumberDigits {
public static void main(String[] args) {
int count = 0, num = 123456;
for(; num != 0; num/=10, ++count) {
}
System.out.println("Number of digits: " + count);
}
}
运行该程序时,输出为:
Number of digits: 6
在此程序中,不使用while
循环,而是使用不带任何主体的for
循环。
在每次迭代中,num
的值除以 10,count
则加 1。
当num != 0
为假,即num = 0
时,for
循环退出。
由于for
循环没有主体,因此可以将其更改为 Java 中的单个语句,如下所示:
for(; num != 0; num/=10, ++count);