•Java is strongly typed checking, that means each data value is associated with a particular type. •It is sometimes helpful or necessary to convert a data value of one type to another type, but we must be careful that we don’t lose important information in the process •There is strict enforcement of type rules –Widening Conversions –Narrowing Conversions •Note that Widening a type can be performed automatically without explicit casting. Narrowing a type must be performed explicitly