示例 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
在这个程序中,
第一次迭代后,num 将除以 10,其值为 345、然后,count 增加到 1、
第二次迭代后,num 的值为 34,count 增加到 2、
第三次迭代后,num 的值为 3,count 增加到 3、
第四次迭代后,num 的值为 0,count 增加到 4、
然后测试表达式被评估为假并且循环终止。
while
循环被迭代,直到测试表达式
num != 0
被评估为 0(假)。
注意: 程序会忽略数字之前的任何零。因此,对于像 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
在这个程序中,我们没有使用 while 循环,而是使用没有任何主体的 for 循环。
在每次迭代中,
num 的值除以 10,
count 加 1、
for
循环在
num != 0
为假时退出,即
num = 0.
由于
for
循环没有主体,因此您可以将其更改为 Java 中的单个语句,如下所示:
for(; num != 0; num/=10, ++count);