Introduction to Data Types in Java
Data type is a keyword, it describes the type of data. Data types are having different sizes and values and the values are stored in a variable. Java data types are broadly categorized into Primitive data types and Non primitive data types. Primitive data types are char, byte, short, int, long, float, double, boolean. Non primitive data type is String.
How Data Types come into Picture?
Java allows 3 types of constants.
- Character constant
- Numeric constant
- Boolean constant
1. Character constant
Character constants are alphabets, words, special symbols and digits (0-9).
In Java 2 types of character constants are there.
- Single character constant
- String constant
a. Single character constant: Single character constant is defined as”single letter surrounded in single quotes (‘ ’)”. Data type is char.
Example: ‘4’, ‘a’,’ ’(empty space) etc.
Limitation: We should not declare more than one character in single quotes, if do so java compiler complains about it.
Example: ‘12’ is wrong declaration.
b. String constant: String constants are “group of letters enclosed in double quotes”. Data type is string.
Example: ”Amardeep”, “!@#$”, “1234”,”30-Mar-1995” etc
2. Numeric constant
All numbers in java are said to numeric constants only.
4.8 (8,411 ratings)
View Course
There are 2 types of numeric constants.
- Integer numeric constant
- Decimal/real/floating point numeric constant
a. Integer numeric constant: A number without fractional part is called as Integer numeric constant. Data type is int.
Example: -1, -2, -5, 6, 7, 8, 0 etc.
b. Decimal/real/floating point numeric constant: A number with fractional part is called as decimal or floating numeric constant. Data types are float and double.
Example: -1.23, 1.23, 5.67, 7.0, 5.28 etc.
3. Boolean constant
Java stores Boolean values as true or Data type is boolean.
Example: true, false
Data Summary
Given below is the data summary:
- Single character constant
- String constant
- Integer constant
- Decimal constant
- Boolean constant
Java Data Types
Java data types are categorized into 2 types:
1. Unsigned
There is no sign bit allocation for memory means we don’t have any positive or negative value for characters.
Examples: a. Characters
2. Signed
There is sign bit allocation for memory means integers and decimal numbers have positive and negative values. So every first bit allotted for -(minus) or + (plus) sign bit and rest of the bits are allotted for number. For negative number sign bit is 1 and positive number sign bit is 0.
Sign Bit-1 | 2 | 3 | 4 | 5 | …… | …… | …… | …… | …… |
Examples:
- Integer
- Decimal
- String
1. Integer classification
Integer again is classified into 4 data types.
- byte: byte has 1 byte memory. 1 byte has 8 bits. As we have seen 1st bit is for sign bit and rest 7 bits are for number. Therefore byte size in java 2^-7 to (2^7)-1 means -128 to 127.
- short: short has 2 bytes memory. 2 bytes have 16 bits. As we have seen 1st bit is for sign bit and rest 15 bits are for number. Therefore short size in java 2^-15 to (2^15)-1.
- int: int has 4 bytes memory. 4 bytes have 32 bits. As we have seen 1st bit is for sign bit and rest 31 bits are for number. Therefore int size in java 2^-31 to (2^31)-1.
- long: long has 8 bytes memory. 8 bytes have 64 bits. As we have seen 1st bit is for sign bit and rest 63 bits are for number. Therefore long size in java 2^-63 to (2^63)-1.
2. Decimal classification
Decimal again is classified into 2 data types.
- float: float has 4 bytes memory. 4 bytes have 32 bits. As we have seen 1st bit is for sign bit and rest 31 bits are for number. float size in java 3.4E^-38 to 3.4E^38.
- double: double has 8 bytes memory. 8 bytes have 64 bits. As we have seen 1st bit is for sign bit and rest 63 bits are for number. double size in java 1.7E^-308 to 1.7E^308.
3. String
String is also unsigned data type in java.
Data types table:
S.No | Data | Data Type | Signed/Unsigned | Size | Ranges |
1 | Single character constant | char | Unsigned | 2 bytes | 0 to 65535 |
2 | Integer constant | byte | Signed | 1 byte | 2^-7 to (2^7)-1 |
short | Signed | 2 bytes | 2^-15 to (2^15)-1 | ||
int | Signed | 4 bytes | 2^-31 to (2^31)-1 | ||
long | Signed | 8 bytes | 2^-63 to (2^63)-1 | ||
3 | Decimal constant | float | Signed | 4 bytes | 3.4E^-38 to 3.4E^38 |
double | Signed | 8 bytes | 1.7E^-308 to 1.7E^308 | ||
4 | Boolean constant | boolean | Signed | JVM dependent | true/false |
5 | String constant | String | Signed | JVM dependent | JVM dependent |
Classification of Java Data Types
Given below is the classification of Java Data Types:
- Primitive data type
- Reference data type
1. Primitive data type
Among 9 data types 8 are primitive data types.
- char
- byte
- short
- int
- long
- float
- double
- Boolean
2. Reference data type
Among 9 data type’s only one reference type is there.
- String: It is also called class type.
Why Java char has 2 Bytes and other Programming Languages have 1 Byte Memory?
- Java has designed by using UTF-16 ( Unicode Transformed Format).
- Originally the char data type used for representing 16 bit Unicode.
- So Java char has 2 bytes.
How does Data Types work in Java?
Based on type assigned to a variable then corresponding operation performs.
Syntax: Primitive data types
1. char
char variableName=value;
2. byte
byte variableName=value;
3. short
short variableName=value;
4. int
int varibaleName=value;
5. long
long varibaleName=value;
6. float
float varibaleName=value;
7. double
double varibaleName=value;
8. boolean
booleanvaribaleName=value;
Syntax: Reference data type
1. String
String variableName=value;
Default values for data types are given below:
Examples of Data Types in Java
Given below are the examples mentioned:
Example #1: Character values
Code:
public class Characters
{
//char global declaration
static char global;
public static void main(String[] args) {
//char local decalration
char a='a';
char b='b';
char c='c';
char d='d';
System.out.println("Character with char data type");
System.out.println(global);//gives you default value with empty means '\u0000'
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
}
Output:
Example #2: String
Code:
public class StringDemo {
static String globalString;
public static void main(String[] args) {
String name1="Amardeep";
String specialChars="@#$%^";
System.out.println("Strings with String data type");
System.out.println(globalString);
System.out.println(name1);
System.out.println(specialChars);
}
}
Output:
Example #3: Integer data type
Code:
public class IntegerDataTypes {
static byte globalByte;
static short globalShort;
static int globalInt;
static long globalLong;
public static void main(String[] args) {
byte b=-128;
short s=23456;
int i=432198;
long l=34534534L;//we can specify long value by suffix L
System.out.println("Default Integer values byte :"+globalByte+" short :"+globalShort+" int :"+globalInt+" long :"+globalLong);
System.out.println("Integer values byte :"+b+" short :"+s+" int :"+i+" long :"+l);
}
}
Output:
Example #4: Decimal data type
Code:
public class DecimalDataType {
static float globalFloat;
static double globalDouble;
public static void main(String[] args) {
float f=2538.23f;//we can specify float value by suffix f
double d=2358.36d;//we can specify double value by suffix d
System.out.println("Default Decimal value float :"+globalFloat+" double :"+globalDouble);
System.out.println("Decimal values float :"+f+" double :"+d);
}
}
Output:
Example #5: Boolean data type
Code:
public class BooleanDataType {
static booleanglobalBoolean;
public static void main(String[] args) {
boolean b=true;
System.out.println("Default booleanvalue :"+globalBoolean);
System.out.println("Boolean value:"+b);
}
}
Output:
Conclusion
Data Types in Java are primitive and reference types char, byte, short, int, long, float, double, boolean and String respectively. Data types decides the behavior of data.
Recommended Articles
This is a guide to Data Types in Java. Here we discuss the introduction to Data Types in Java, classification of data types, how does these work, and examples. You may also have a look at the following articles to learn more –