Data types in Java are what determines the kind of data a variable can contain (e.g integers, decimal numbers, characters, etc), and the data type is determined at the declaration. It is important to declare the correct data type since a variable only can contain the type of data it is declared for.
The data type tells the computer what kind of information the data consists of. There are different types of data, where every type of data describes a specific type of data. Furthermore, for a computer, there is a big difference between storing, for example, a text string or an integer, even if the information is similar. For example, in Java, it is a difference to save the integer 10 or the text string “10”. And of course, it would not be possible to multiply the number 5 by the text string “3”. Therefore, we always need to specify what kind of information we want to save, so that the compiler can interpret the data correctly. We do this with data types.
A data type:
In programming, we regularly store information in the memory to be able to use it at a later time. For example, if we do a calculation, we want to be able to save the value of the calculation for a later time. In Java, data is stored in variables of a certain data type. A data type is as it sounds – a specific type of data. For example, you store integers in Integers, and text stored in Strings. Therefore, we need to know what data types are available and what information the data type can hold. For example, you cannot store an integer in a string or vice versa.
There are two types of data types in Java, the primitive data type and the non-primitive data type. The Non-primitive data type is a reference to an instance and we will review it later. However, now we will focus on the primitive data types and there are 8 different primitive data types in Java that we will have a closer look at.
Each data type takes up a certain amount of memory space, a certain number of bits. You may already know that a computer only handles ones and zeros (ie, bits) represented by the binary number system (ie, ones and zeros). Moreover, we will not go into detail about how the binary number system works here, but the vital thing to take into account is that large numbers need more bits to be stored, that is, more significant space in memory. Therefore, it is worth considering extra time what type of data you use so that you do not waste memory, or accidentally try to save too much value in a data type where it does not fit because then the program will crash.
The most common types of data you should be familiar with are:
Let’s start with the integers, that is, 0, 1, 2, 3,…, and so on. Additionally, the negative counterpart -1, -2, -3, …, etc. There are four data types that store integers. These are byte, short, integers, and long. Below you can see how many bits each data type needs, as well as the smallest and largest value that can be saved in each data type.
| Data type | Bit size | Min-value | Max-value |
|---|---|---|---|
| byte | 8 | -128 | 128 |
| short | 16 | -32 768 | 32 768 |
| int | 32 | −2147 483 648 | 2147 483 648 |
| long | 64 | ≈ −9 × 10^18 | ≈ 9 × 10^18 |
The most common data type to use is int, as it covers the most conceivable integers you may need in a program (numbers between −2147 483 648 and 2147 483 648). But long is also available if you need larger numbers than that. If you know with certainty that you will only use small numbers in your program, you can advantageously use short or bytes.
Furthermore, if you want to save decimal numbers instead, you can use float or double. They work similarly to integers, where the float has 32 bits and double 64 pieces. These data types are useful, for example, when you want to save an irrational number such as pi, with any number of decimal places.
| Data type | Bit size | Min-value | Max-value |
|---|---|---|---|
| float | 32 | ≈ −3.4 × 10^38 | ≈ 3.4 × 10^38 |
| double | 64 | ≈ −1.7 × 10^308 | ≈ 1.7 × 10^308 |
If you want to store characters, instead, you can use the data type char. Char is perfect to use if you’re going to save a single character, for example, the letter ‘a’. However, often you want to save a whole word or an entire sentence. Then it would be best if you used a collection of chars, called String. String are certainly not a primitive data type, but it is used so often that we are already introducing it. A String is useful when you want to save a whole sentence in the memory. For example, “Programming Java is so much fun!”.
Finally, a logical value has the data type boolean. A boolean variable can only assume the values true or false, which makes boolean variables very useful as conditions, for example, in if statements or loops, when you want to run a program until a requirement is fulfilled. You can also think that true is equal to one (1), and false is equal to zero (0).