示例 1:使用 while 循环计算整数中的数字位数
public class Main {
public static void main(String[] args) {
int count = 0, num = 0003452;
while (num != 0) {
// num = num/10
num /= 10;
++count;
}
System.out.println("Number of digits: " + count);
}
}
输出
Number of digits: 4
在此程序中,while
循环会一直迭代,直到测试表达式 num != 0
求值为 0(false)为止。
- 第一次迭代后,num 将被除以 10,其值为 345。然后,count 递增到 1。
- 第二次迭代后,num 的值为 34,count 递增到 2。
- 第三次迭代后,num 的值为 3,count 递增到 3。
- 第四次迭代后,num 的值为 0,count 递增到 4。
- 然后测试表达式求值为假,循环终止。
注意:该程序会忽略数字前面的任何零。因此,对于 000333 这样的数字,输出将是 3。
示例 2:使用 for 循环计算整数中的数字位数
public class Main {
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
在此程序中,我们使用了一个不带主体的 for 循环,而不是使用 while 循环。
每次迭代时,num 的值都会除以 10,count 会加 1。
当 num != 0
为 false(即 num = 0)时,for
循环退出。
由于 for
循环没有主体,您可以在 Java 中将其更改为单个语句,如下所示:
for(; num != 0; num/=10, ++count);
另请阅读