计算整数位数的 Java 程序

要理解此示例,您应该具备以下 Java 编程的知识:

示例 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("位数: " + count);
  }
}

输出

位数: 4

在这个程序中, while 循环被迭代,直到测试表达式 num != 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("位数: " + count);
  }
}

输出

位数: 6

在这个程序中,我们没有使用 while 循环,而是使用没有任何主体的 for 循环。

在每次迭代中,值 num 除以 10 和 count 增加 1。

for 循环退出时 num != 0 为假,即 num 等于 0。

由于 for 循环没有主体,因此您可以将其更改为 Java 中的单个语句,如下所示:

for(; num != 0; num/=10, ++count);