- Java Tutorial
- Java Introduction
- Java Features
- Java Simple Program
- JVM, JDK and JRE
- Java Syntax
- Java Comments
- Java Keywords
- Java Variables
- Java Literals
- Java Separators
- Java Datatypes
- Java Operators
- Java Statements
- Java Strings
- Java Arrays
- Control Statement
- Java If
- Java If-else
- Java If-else-if
- Java Nested If
- Java Switch
- Iteration Statement
- Java For Loop
- Java For Each Loop
- Java While Loop
- Java Do While Loop
- Java Nested Loop
- Java Break/Continue
- Java Methods
- Java Methods
- Java Method Parameters
- Java Method Overloading
- Java Recursion
- Java OOPS
- Java OOPs
- Java Classes/Objects
- Java Inheritance
- Java Polymorphism
- Java Encapsulation
- Java Abstraction
- Java Modifiers
- Java Constructors
- Java Interface
- Java static keyword
- Java this keyword
- Java File Handling
- Java File
- Java Create File
- Java Read/Write File
- Java Delete File
- Java Program To
- Add Two Numbers
- Even or Odd Numbers
- Reverse a String
- Swap Two Numbers
- Prime Number
- Fibonacci Sequence
- Palindrome Strings
- Java Reference
- Java String Methods
- Java Math Methods
Java Literals
In Java, literals are the constant values that appear directly in your source code. Unlike variables, which act as containers that can change, a literal is the actual data itself. For instance, in the statement int count = 5;, the number 5 is an integer literal.
Understanding literals is essential because they tell the Java compiler exactly what kind of data you are working with and how much memory to allocate for it. Whether you are defining a price, a user's name, or a simple true/false flag, you are using literals.
Types of Literals:
- Numeric Literals: These cover whole numbers (integers), decimal numbers (floating-point), and single characters which are stored as numeric Unicode values.
- String Literals: These represent sequences of text, such as words or sentences, and are always wrapped in double quotes (").
- Boolean Literals: These are the simplest literals, consisting only of the keywords true and false.
- Null Literal: A special literal (null) that represents the absence of a value or a reference that points to nothing.
1_000_000 is much easier to read than 1000000.
Numeric Literals:
Numeric literals are the most diverse group in Java. Depending on how you write them, Java interprets them differently:
- Integer Literals: Whole numbers. By default, Java treats whole numbers as 32-bit
inttypes. If you need a 64-bitlong, you must append an 'L' or 'l' (e.g.,5000L).
Example: 100, -45, 0. - Floating-Point Literals: Numbers with decimals or scientific notation. By default, these are treated as 64-bit
double. To specify a 32-bitfloat, append an 'f' (e.g.,3.14f).
Example: 19.99, 1.5e3 (which is 1500.0). - Character Literals: These represent a single Unicode character. They must be enclosed in single quotes.
Example: 'A', '7', '$'.
'A' (single quotes) with the String "A" (double quotes). In Java, these are different types; the first is a primitive char, while the second is an object of the String class.
012) signifies an Octal (base-8) number. 012 in Java is actually 10 in decimal!
String Literals:
String literals consist of zero or more characters joined together and surrounded by double quotes. They are not primitives in Java; they are actually objects of the String class. Java handles these efficiently by using a "String Pool" to save memory when the same literal is used multiple times.
- Example:
"Welcome to the Tutorial","User_ID_123",""(an empty string).
public static final String constants rather than repeating the literal throughout your code.
Boolean Literals:
Boolean literals are straightforward and represent logical states. Unlike some other languages (like C++), Java does not allow you to use 0 or 1 to represent true or false; you must use the keywords.
- true: Represents a logical "yes" or "on" state.
- false: Represents a logical "no" or "off" state.
Null Literal:
The null literal is unique because it doesn't represent a value, but rather the absence of an object. It is used with reference types (like Strings or custom Objects) to indicate that the variable doesn't point to any memory address yet.
null literal will result in the famous NullPointerException. Always check if an object is null before using it.
Example
The following program demonstrates how different literals are assigned to variables and used in a real-world context.
public class LiteralsExample {
public static void main(String[] args) {
// Numeric literals (Integers and Floating-point)
int maxUsers = 100; // Integer literal
long debtAmount = 1_500_000_000L; // Long literal with underscores for readability
double transactionFee = 0.05; // Double literal
float temperature = 98.6f; // Float literal (requires 'f')
char currencySymbol = '$'; // Character literal
// String literal
String statusMessage = "Transaction Successful";
// Boolean literals
boolean isAccountActive = true;
boolean hasOverdraft = false;
// Null literal
String middleName = null; // Used when data is missing or optional
// Displaying the values
System.out.println("Max Users: " + maxUsers);
System.out.println("Total Debt: " + debtAmount);
System.out.println("Fee: " + (transactionFee * 100) + "%");
System.out.println("Symbol: " + currencySymbol);
System.out.println("Status: " + statusMessage);
System.out.println("Active: " + isAccountActive);
System.out.println("Middle Name: " + middleName);
}
}
Summary
Java literals are the building blocks of data in your code. They represent fixed values directly, including numeric types (integers, floats), characters, strings, booleans, and the null reference. Mastering the nuances of literals—such as appending 'L' for longs or 'f' for floats—ensures that your code is type-safe and performs as expected. By using clear literals and following best practices like using underscores in large numbers, you make your code more maintainable and easier for other developers to read.