Upskill faster and boost your growth in 2024 with our upto 50% OFF on All Courses! Offer Ending in
Get Now
Data Types in Java - Primitive and Non-Primitive Data Types

Data Types in Java - Primitive and Non-Primitive Data Types

05 Dec 2023
7 min read
Learn via Video Course & by Doing Hands-on Labs

Java Programming Course

Start Learning Free View All Courses

Data Types in Java: An Overview

In this article, we'll learn the concepts of Data Types in Java, Java data types, Understanding Data Types in Java, and Introduction to Java primitives. Data types are used in Java to categorize and specify the kinds of data that can be stored in a variable. Primitive and reference data types are the two basic categories of data types offered by Java. Integers, floating-point numbers, characters, and booleans are examples of primitive data types that store straightforward values. Contrarily, reference data types—which include classes, interfaces, and arrays—store pointers to objects. For effective memory allocation and data manipulation in Java programming, it is essential to understand and use data types effectively.

Data Types in Java

Data types can describe the various sizes and values that can be stored in that particular variable. Let's understand the data types of Java first then we’ll talk about different types of Java conditional statements in the next articles.
  1. "Primitive" data type- this particular data type includes float, short, boolean, byte, char, long, int, and double.
  2. "Non-primitive" data type- this particular data type includes arrays, interfaces, strings, and classes.

Primitive Data Type in Java

The primitive data type is primarily a set of primary data from which other data and data types could be constructed. Primitive data refers to some limited set of data that is represented by an individual processor. So that all the compiled programs could use this data type. Primitive data is already defined in Java and does not need to be created by programmers. There are 8 types of primitive data which will be discussed further.

1. Float data type

This particular data type has a "single precision 32 bits IEEE 754" floating point. The value of this range is unlimited. In contemplation of saving memories, one should use the "Float" data type as it saves memories in a large array of that floating number.

2. Short data type

This data type is a "16-bit" data type which is a two's complement integer. The value range of the Short data type stands between "-32,768 to 32,767". So the lowest value is -32,768 the highest value is 32,767 and the default value is 0. This data type can also be applied to save the memory just like the byte data type. Also, the short data type is "2 times smaller" than an integer data type.

3. Boolean data type

This primitive data type identifies "one bit of information" but the size of the particular data type could not be defined precisely. Boolean data type stores only two possible outcomes of an input. Either the value could be true or it could be false. This data type is generally used to track whether the conditions are true or false.

4. Byte data type

Byte-data type helps to save the memories in a large array according to the requirements of memory saving. This is an "8-bit two's complement integer". The value range stands between -128 to 127. The lower range is -128 and the upper range is 127 and 0 is the default value of this data type. Byte data type helps to save space because it is 4 times smaller than integer data type.

5. Char data type

The char data type stands for a character data type which is a "single 16-bit Unicode" character. The range of the data types lies between 0 to 65,535. This particular data type helps to store the character in the database.

6. Long data type

This 64-bit long data type is a two's complement integer. The minimum value of the long data type is 9 223,372 036 854,775 808 and the maximum value of the long data type is 9,223,372,036,854,775,807. The default value of this long data type is 0. The long data type is specifically used when the user needs a much bigger value range than an integer.

7. Int data type

The int data type stands for integer data type and it is a "32-bit signed two's complement integer". The minimum value of the int data type is 2,147,483,648 and 0 is the default value. An int data type is a default data type that is used for integral values.

8. Double data type

This particular data type is a "64-bit Double precision IEEE 754 floating point". The value range of the Double data type is unlimited. Double data type helps to use decimal values like a float. As this data type does not have any particular values so this cannot generate precise values such as "currency".

Non-Primitive Data Type in Java

Non-primitive data type depends on the object. The value of a variable in the Non-primitive data could not be stored directly in the memory. This particular data stores the address of the memory of the variable. Non-primitive data has to be defined by its user. There are 5 types of non-primitive data which will be discussed shortly.

1. Arrays

An array is a container that can only hold a particular number of values of a significant type of data. This user-defined data type generally establishes its length at the time of its creation. After that, it was fixed and could not change. It stores multiple values in a single and particular variable.

2. Interfaces

The interface is a descriptive reference type in Java that is used for describing the actions and behavior of a particular object. Interfaces are the collection of "abstract methods". To achieve abstraction Java follows an interface mechanism. Interface data type contains "constants", "default methods", "static methods" and "nested type".

3. Strings

Strings are non-primitive data types that represent a particular number of the values of a character. Strings are represented by various alphabets and represented in a sequence of order. For example, strings are represented as char[ ] where ch stands for { 'j', 'a', 'v', 'a'}.

4. Class

A class is a user-defined model or prototype from which objects are made. It stands for the collection of attributes or operations that are shared by all objects of a particular type. 

5. Object

An object, which stands in for actual entities, is the fundamental building block of object-oriented programming. Many objects are created by a typical Java program, and as you are aware, these objects interact via calling methods. 


1. What is a data type in Java?

In Java, a data type specifies the kind of data that a variable can store, such as characters, integers, or floating-point numbers.

2. What are primitive and non-primitive data types in Java?

Non-primitive data types are objects like arrays and classes, whereas primitive data types are simple data types like int and true.

3. Why String is non-primitive?

Because String is a class in Java and offers more than just data storage, it is not a primitive.

4. What data type is boolean?

Java's boolean data type is a simple way to store true or false values.


Java categorizes and defines the sorts of data that variables can hold. Java has non-primitive types like arrays and classes for more complicated objects as well as primitive types like int and boolean for basic values. Because String is a class with additional capabilities, it is not a primitive. As a basic data type, a boolean represents true or false values. For Java programming to work properly, these kinds must be understood and used efficiently for memory allocation and data processing.

Share Article
About Author
Shailendra Chauhan (Microsoft MVP, Founder & CEO at Scholarhat by DotNetTricks)

Shailendra Chauhan is the Founder and CEO at ScholarHat by DotNetTricks which is a brand when it comes to e-Learning. He provides training and consultation over an array of technologies like Cloud, .NET, Angular, React, Node, Microservices, Containers and Mobile Apps development. He has been awarded Microsoft MVP 8th time in a row (2016-2023). He has changed many lives with his writings and unique training programs. He has a number of most sought-after books to his name which has helped job aspirants in cracking tough interviews with ease.
Accept cookies & close this