Data Types in JAVA
Data Types in JAVA
Data types specify the different sizes and values that can be stored in the variable. There are two
types of data types in Java:
1. Primitive data types: The primitive data types include Integer, Character, Boolean, and
Floating Point.
2. Non-primitive data types: The non-primitive data types include Classes, Interfaces, and
Arrays.
Types of Variables
There are three types of variables in java:
local variable
instance variable
static variable
1) Local Variable
A variable declared inside the body of the method is called local variable. You can use this variable
only within that method and the other methods in the class aren't even aware that the variable
exists.
A local variable cannot be defined with "static" keyword.
2) Instance Variable
A variable declared inside the class but outside the body of the method, is called instance variable.
It is not declared as static.
It is called instance variable because its value is instance specific and is not shared among
instances.
3) Static variable
A variable which is declared as static is called static variable. It cannot be local. You can create a
single copy of static variable and share among all the instances of the class. Memory allocation for
static variable happens only once when the class is loaded in the memory.
Unicode System
Unicode is a universal international standard character encoding that is capable of representing
most of the world's written languages.
Problem
This caused two problems:
1. A particular code value corresponds to different letters in the various language standards.
2. The encodings for languages with large character sets have variable length. Some common
characters are encoded as single bytes, other require two or more byte.
Solution
To solve these problems, a new language standard was developed i.e. Unicode System.
In Unicode, character holds 2 byte, so java also uses 2 byte for characters.
lowest value:\u0000
highest value:\uFFFF
Unicode is an international effort to provide a single character set that everyone can use. Unicode
supports the characters needed for English, Arabic, Tamil, Cyrillic, Greek, Devanagari (Hindi), and
many others. Java is one of the first programming languages to explicitly address the need for non-
English text. It does this by adopting Unicode as its native character set. All Java chars and strings
are given in Unicode. At the time of Java’s creation, Unicode required 16 bits. Thus, in Java char is
a 16-bit(two-byte) type. The range of a char is 0 to 65,536. There are no negative chars. Since Java
is designed to allow programs to be written for worldwide use, it makes sense that it would use
Unicode to represent characters. The use of Unicode is somewhat inefficient for languages such as
English, German, Spanish, or French, whose characters can easily be contained within 8 bits. But
such is the price that must be paid for global portability.
The first 128 Unicode characters (characters through 127) are identical to the ASCII character set.
32 is the ASCII space; therefore, 32 is the Unicode space. 33 is the ASCII exclamation point, so 33
is the Unicode exclamation point, and so on. The next 128 Unicode characters (characters 128
through 255) have the same values as the equivalent characters in the ISO/IEC 8859-1(also known
as Latin-1) character set, a slight variation of which is used by Windows, adds the various accented
characters, umlauts, cedillas, upside-down question marks, and other characters needed to write text
in most Western European languages. The first 128 characters in ISO/IEC 8859-1 are identical to
the ASCII character set. Values beyond 255 encode characters from various other character sets.
Characters in Java are indices into the Unicode character set. They are 16-bit values that can be
converted into integers and manipulated with the integer operators, such as the addition and
subtraction operators. A literal character is represented inside a pair of single quotes. All of the
visible ASCII characters can be directly entered inside the quotes, such as ‘a‘, ‘z‘, and ‘@‘. For
characters that are impossible to enter directly, there are several escape sequences that allow you to
enter the character you need, such as ‘ \‘ for the single-quote character itself and ‘ \n‘ for the
newline character. There is also a mechanism for directly entering the value of a character in
octal(base-8 number system) or hexadecimal(base-16 number system). For octal notation, use the
backslash followed by the three-digit number. For example, ‘ \143‘ is the letter ‘c‘. For
hexadecimal, you enter a backslash-u ( \u), then exactly four hexadecimal digits. For example,
‘ \u0064‘ is the ASCII ‘d’.