Java, comme la plupart des langages, ne dispose pas d'un type primitif représentant des entiers de taille quelconque, mais de quatre types entiers de taille fixe :
Quand un type entier est codé sur 111#111 bits, 131#131 entiers peuvent être représentés. Pour des types non-signés, on peut ainsi représenter l'intervalle 132#132 ; la suite de bits 133#133 représente l'entier 134#134. Pour des types signés, les entiers dans l'intervalle 135#135 sont représentables ; les entiers 136#136 sont représentés de la même façon que dans le cas non-signé et l'on a 137#137 ; les entiers 138#138 sont représentés en complément à deux et l'on a 139#139; cela signifie que 133#133 représente l'entier 140#140 ; par exemple 111..1141#141 représente 142#142.
La notation décimale peut être utilisée pour noter les valeurs de type int ; un L (ou un l, moins lisible) doit être suffixé pour représenter une valeur de type long : 12 est un int, et 12L est un long.