Arrays are primitive data types

An overview of the primitive data types defined in Java

The primitive data types were not implemented as classes for performance reasons. The designation primitive does not represent a valuation here, but refers to the fact that primitive data types have neither properties (variables) nor capabilities (methods). It therefore means something like simply set up. Their number and data size is clearly defined.
In addition to six numeric types, there are also the type for displaying Unicode characters and the truth value.
The following table provides an overview:

TypesignsizeRange of values
byteYes8 bit-27 up to 27 - 1 (-128...127)
shortYes16 bit-215 up to 215 - 1 (-32768...32767)
intYes32 bit-231 up to 231 - 1 (-2147483648...2147483647)
longYes64 bit-263 up to 263 - 1 (-9223372036854775808...9223372036854775807)
charNo16 bit16-bit Unicode characters (0x0000 ... 0xffff (6553510))
floatYes32 bit
V: 1 bit
E: 8 bit
M: 23 bit
-3.40282347 *1038 to 3.40282347 * 1038
doubleYes64 bit
V: 1 bit
E: 11 bit
M: 52 bit
-1.79769313486231570 *10308 to 1.79769313486231570 * 10308
boolean-8 bittrue / false

All numeric data types are discussed in detail, including in the Numeric Data Types section.
Since it can occasionally be useful to treat a primitive data type like an object, for example to convert a numerical value into a string, there are so-called wrapper classes in Java for every primitive type, which convert it into an object pack and thus enable the application of methods.


Unlike other programming languages, Java is not a numeric type. It can neither be incremented / decremented nor represented by numerical literals, but exclusively by or.