There are two kinds of primitive data types supported by the JVM; numeric types and the returnAddress type.
The numeric types consist of the integral types :
and the floating-point types :
Operations on values of a numeric type include arithmetic operations, comparison operations and conversion operations.
The values of the returnAddress type are pointers to the opcodes of JVM instructions, and it is not a Java language type like the numeric primitive types. There are no operations on values of the returnAddress type. This type is used by the JVM instructions jsr, jsr_w and ret, which jump to and return from a subroutine using a value of the returnAddress type to save the address of the instruction to return to after the subroutine.
There is no boolean type; operations on booleans are compiled to use the int data type to represent boolean values.