# Java Program to Count Number of Digits in an Integer

In this program, you’ll learn to count the number of digits using a while loop and for loop in Java.

## Example 1: Count Number of Digits in an Integer using while loop

1. `public class NumberDigits {`
2. ` public static void main(String[] args) {`
3. ` int count = 0, num = 3452;`
4. ` while(num != 0)`
5. ` {`
6. ` // num = num/10`
7. ` num /= 10;`
8. ` ++count;`
9. ` }`
10. ` System.out.println("Number of digits: " + count);`
11. ` }`
12. `}`

When you run the program, the output will be:

`Number of digits: 4`

In this program, while loop is iterated until the test expression `num != 0` is evaluated to 0 (false).

• After first iteration, num will be divided by 10 and its value will be 345. Then, the count is incremented to 1.
• After second iteration, the value of num will be 34 and the count is incremented to 2.
• After third iteration, the value of num will be 3 and the count is incremented to 3.
• After fourth iteration, the value of num will be 0 and the count is incremented to 4.
• Then the test expression is evaluated to false and the loop terminates.

## Example 2: Count Number of Digits in an Integer using for loop

1. `public class NumberDigits {`
2. ` public static void main(String[] args) {`
3. ` int count = 0, num = 123456;`
4. ` for(; num != 0; num/=10, ++count) { `
5. ` }`
6. ` System.out.println("Number of digits: " + count);`
7. ` }`
8. `}`

When you run the program, the output will be:

`Number of digits: 6`

In this program, instead of using a while loop, we use a for loop without any body.

On each iteration, the value of num is divided by 10 and count is incremented by 1.

The for loop exits when `num != 0` is false, i.e. num = 0.

Since, for loop doesn’t have a body, you can change it to a single statement in Java as such:

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