Javassa on kaksi perustyyppiluokkaa: primitiiviset tyypit (yksinkertaiset arvot, jotka on tallennettu suoraan) ja viitetyypit (objektit, joissa muuttuja sisältää viitteen/osoittimen objektiin). Ne käyttäytyvät hyvin eri tavalla muistissa, sijoituksessa ja vertailussa.
8 primitiivista tyyppiä
;
;
;
;
;
;
;
;
