Widening is when you convert a smaller type to a larger type. Java does this automatically because no data is lost. An int fits inside a double with room to spare.
int count = 42;
double result = count;
Java converts 42 to 42.0 without you asking. The widening order for numeric types goes: byte → short → int → long → float → double. Any conversion moving left to right happens automatically.
This is useful when you mix types in expressions. If you write int x = 5; double y = x + 2.5;, Java widens x to a double before adding, giving you 7.5 instead of 7.