Java Data Types
As explained in the previous chapter, a variable in Java must be a specified data type:
Example:
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating poin
t number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
Data types are divided into two groups:
Primitive data types - includes byte, short, int, long, float, double, boolean and char
Non-primitive data types - such as String, Arrays and Classes (you will learn more about these in a later chapter)
Primitive Data Types
primitive data type specifies the type of a variable and the kind of values it can hold.
There are eight primitive data types in Java:
Data Type Description
byte Stores whole numbers from -128 to 127
short Stores whole numbers from -32,768 to 32,767
int Stores whole numbers from -2,147,483,648 to 2,147,483,647
long Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
float Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits
double Stores fractional numbers. Sufficient for storing 15 to 16 decimal digits
boolean Stores true or false values
char Stores a single character/letter or ASCII values
Non-Primitive (Reference) Data Types:
These data types are not predefined by the language and are created by the programmer (except for String). They store references to objects rather than the actual values. Examples include:
Classes: User-defined types that serve as blueprints for creating objects (e.g., String, Scanner, custom classes like Person).
Interfaces: Blueprints of a class, defining a set of methods that a class must implement.
Arrays: Used to store multiple values of the same data type in a single
Key Differences
Storage:
Primitive types store values directly on the stack, while non-primitive types store references to objects on the heap.
Default Values:
Primitive types have default values (e.g., 0 for int, false for boolean), while non-primitive types have a default value of null.
Methods:
Non-primitive types can have methods associated with them, allowing for operations on the data they represent, whereas primitive types do not.
Case Convention:
Primitive types start with a lowercase letter, while non-primitive types (classes, interfaces) typically start with an uppercase letter.
Top comments (1)
You can format code blocks as follows
backtick your inline code backtick
backtick backtick backtick java
your java code block
backtick backtick backtick
Dev.to supports regular markdown too.