Widening — SAFE (Small → Big)
int x = 42;
double y = x; // automatic, safe!
✔ Widening — Java does this automatically
Narrowing — DANGEROUS (Big → Small)
double price = 19.99;
int rounded = (int) price; // must cast! Loses .99!
⚠ Narrowing — Requires explicit cast, may lose data
Lost: .99 — result is 19, not 19.99!