Skip to content

Datatypes

Default values of datatypes

shell
 double : 0.0
 float : 0.0 / 0.0F 
 long : 0 / 0L
 int : 0
 short : 0
 char : '\u0000' (null character)
 byte : 0
 boolean : false
 String : null
 Object : null

ASCII

'A' = 65 'a' = 97

Important

Never use '' ( two apostrophe without space in between ) for assigning empty value to a char variable, instead use ' ' ( two apostrophe with space between ) or '\u0000'.

char c = '';

error: empty character literal

Valid initializations :

char c = ' ';

char c = '\u0000';

Suffix

  • The suffix 'l' or 'L' when used after an integer signifies long value.

Example :

java
long phoneNumber = 0000000000L;

TIP

Use long datatype for accepting large numbers like phone number from user because using int might cause an overflow.

  • The suffix 'f' or 'F' when used after an floating point integer signifies float value

Example :

java
float pi = 3.14F;

TIP

Always try to use double instead of float to avoid confusion.

Hierarchy of datatypes

shell
double
float  
long
int 
short
char
byte
boolean

TIP

To calculate Range of a integer datatype of n bits use the formula : -2ⁿ⁻¹ to 2ⁿ⁻¹ - 1

Reason : In binary system or Base₂ number system, n bits can store a maximum decimal / Base₁₀ number of 2ⁿ.(positive numbers only). But Java doesn't support unsigned datatypes.(i.e. only positive numbers). So to store equal number of positive and negative numbers in a variable, the range is reduced by half and becomes -2ⁿ⁻¹ to 2ⁿ⁻¹ - 1.

NOTE

We have to subtract 1 from range in the last (2ⁿ⁻¹) so that we can include 0 in the range. Range = 2ⁿ⁻¹ negative numbers + 0 + 2ⁿ⁻¹ - 1 positive numbers

Sizes of datatypes

shell
double  : 64 bits / 8 bytes
float   : 32 bits / 4 bytes
long    : 64 bits / 8 bytes
int     : 32 bits / 4 bytes
short   : 16 bits / 2 bytes
char    : 16 bits / 2 bytes
byte    :  8 bits / 1 bytes
boolean :  8 bits / 1 bytes

NOTE

Java reserves 8 bits for boolean datatype but uses only 1 bit.

So the smallest data type in terms of memory consumption is boolean.

In terms of memory allocation, boolean and byte both are smallest.

NOTE

1 byte = 8 bits

Bit

The smallest unit of memory is a bit. It represents a single binary digit, either 0 or 1.

Nibble

A nibble refers to four consecutive binary digits(bits) or half of a byte(8-bits).

final

Keyword final when used with a declaration similar to a variable, creates a named constant.
Syntax : final <datatype> <variable_name> = <value>;
Example:

java
final double pi = 3.14;

Types of Data Types

Primitive Data Types

Integer Data Types

byte , short , int , long

Floating-point Data Types

double , float

Character Data Type

char

Boolean Data Type

boolean

Reference Data Types

Arrays

Classes

Interfaces

NOTE

String is also a Reference/Non-primitive datatype (Why?)

NOTE

Primitive data types are also known as Fundamental, In-buit data types.

NOTE

Reference data types are also known as Non-primitive, User-defined, Composite data types.