The LCM of two integers is the smallest positive integer that is perfectly divisible by both the numbers (without a remainder).

## Example 1: LCM using while Loop and if Statement

```
public class LCM {
public static void main(String[] args) {
int n1 = 72, n2 = 120, lcm;
// maximum number between n1 and n2 is stored in lcm
lcm = (n1 > n2) ? n1 : n2;
// Always true
while(true)
{
if( lcm % n1 == 0 && lcm % n2 == 0 )
{
System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm);
break;
}
++lcm;
}
}
}
```

When you run the program, the output will be:

The LCM of 72 and 120 is 360.

In this program, the two numbers whose LCM is to be found are stored in variables `n1` and `n2` respectively.

Then, we initially set `lcm` to the largest of the two numbers. This is because, LCM cannot be less than the largest number.

Inside the infinite while loop (`while(true)`

), we check if `lcm` perfectly divides both `n1` and `n2` or not.

If it does, we've found the LCM. We print the LCM and break out from the while loop using `break`

statement.

Else, we increment `lcm` by 1 and re-test the divisibility condition.

We can also use GCD to find the LCM of two numbers using the following formula:

LCM = (n1 * n2) / GCD

If you don't know how to calculate GCD in Java, check Java Program to find GCD of two numbers.

## Example 2: Calculate LCM using GCD

```
public class LCM {
public static void main(String[] args) {
int n1 = 72, n2 = 120, gcd = 1;
for(int i = 1; i <= n1 && i <= n2; ++i)
{
// Checks if i is factor of both integers
if(n1 % i == 0 && n2 % i == 0)
gcd = i;
}
int lcm = (n1 * n2) / gcd;
System.out.printf("The LCM of %d and %d is %d.", n1, n2, lcm);
}
}
```

The output of this program is same as Example 1.

Here, inside the for loop, we calculate the GCD of the two numbers - `n1` and `n2`. After the calculation, we use the above formula to calculate the LCM.