Java supports two types of data types. Data types specify the type of value that can be stored within the variable that may vary in size and value.
Java Data Types
The two types of Java data types are- primitive and non-primitive
1. Primitive data-types
These data types are the building blocks for manipulating the data. Below is the list of the primitive data types available in Java- 8 types of primitive data types:
- Boolean data type
- byte data type
- char data type
- short data type
- int data type
- long data type
- float data type
- double data type
Data Type | Data Size | Description |
Boolean | 1 byte | Stores only two possible values- true or false. By default its value is false. |
byte | 2 byte | Used to save memory in large arrays and can be used in place of int. value-range lies between -128 to 127 where -128 and the maximum value is 127 and 0 is the default value. |
char | 1 byte | It is a 16-bit Unicode character which ranges between '\u0000' (or 0) to '\uffff' (or 65,535) and used to store characters. |
short | 2 byte | It is also used to save memory like byte and also can be used in place of int. value-range lies between -32,768 to 32,767 where the minimum value is -32,768 and the maximum value is 32,767 and 0 is the default value. |
int | 4 byte | By default, int is used for integer value if there is no memory issue. value-range lies between - 2,147,483,648 to 2,147,483,647 where the minimum value is - 2,147,483,648 and the maximum value is 2,147,483,647 and 0 is the default value. |
long | 8 byte | It can be used when you need to store a large value range and not possible with int. value-range lies between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 where the minimum value is - 9,223,372,036,854,775,808 and the maximum value is 9,223,372,036,854,775,807 and 0 is the default value. |
float | 4 byte | It is single-precision 32 bit with an unlimited value range. You can use it in large arrays to save memory. This data type cannot be used for precise data. |
double | 8 byte | It is a double-precision 64 bit with an unlimited value range. You can use it for decimal value as a float data type. This data type cannot be used for precise data. |
2. Non-primitive data types
These data types refer to objects and are also known as reference types. These data types are created by the user but not by the programming language. Below is the list of non-primitive data types-
- String
- Array
- Classes
- Interfaces
Data Type | Description |
string | It is an object that specifies the sequence of the characters. You can create a java string using java.lang.String class. |
array | It is a homogeneous data structure that can be implemented as objects. It contains values of the same data type and uses indexes to access the variable. |
classes | It is a blueprint that contains all the data in it. You can declare variables, fields, or methods within a class. |
interfaces | It is like a class containing variables and methods. But the methods have only declaration but not the body. You have to implement the interface to define the methods. |
For a brief understanding or comparison between array vs string visit our blog post .
Conclusion
A data type in computer programming specifies an attribute that tells the compiler or interpreter how a programmer is using that data. To put it simply, a data type specifies what kind of value a variable has. In general, there are two distinct data types in Java, namely primitive and non-primitive, which we have discussed in this article.
People are also reading: