Primitive vs Reference types? code example

Example 1: Primitive Type vs. Reference Type

int a = 11; // Primitive Type 

Integer b = new Integer(11); // Reference Type

Example 2: reference type vs primitive type

// The value of primitive data types are directly stored in the memory.
// For example if int a is initilized to 11, then 11 is directly stored
// in the memory.
int a = 11; // Primitive Type 

// Reference types on the other hand are a reference to values in the
// memory. For example Integer(11) creates a reference in the memory
// whever the value 11 is stored and passes that memory reference/
// (address) to the variable.
Integer b = new Integer(11); // Reference Type

Example 3: Primitive Type vs. Reference Type

+================+=========+===================================================================================+
| Primitive type | Size    | Description                                                                       |
+================+=========+===================================================================================+
| byte           | 1 byte  | Stores whole numbers from -128 to 127                                             |
+----------------+---------+-----------------------------------------------------------------------------------+
| short          | 2 bytes | Stores whole numbers from -32,768 to 32,767                                       |
+----------------+---------+-----------------------------------------------------------------------------------+
| int            | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647                         |
+----------------+---------+-----------------------------------------------------------------------------------+
| long           | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
+----------------+---------+-----------------------------------------------------------------------------------+
| float          | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits           |
+----------------+---------+-----------------------------------------------------------------------------------+
| double         | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits               |
+----------------+---------+-----------------------------------------------------------------------------------+
| char           | 2 bytes | Stores a single character/letter or ASCII values                                  |
+----------------+---------+-----------------------------------------------------------------------------------+
| boolean        | 1 bit   | Stores true or false values                                                       |
+----------------+---------+-----------------------------------------------------------------------------------+

Tags:

Java Example