byte, short, int, and long are all "integral types", meaning they can only represent integers -- numbers with no fractional parts. None of those types can hold 3.14, but they can hold 3. float and double are "floating point types", and they can represent numbers with fractional parts.