Java Literals – Integer, Floating-Point, Boolean, Char, and String
Java literals are constant values assigned directly to variables in your code. They are the simplest building blocks of any Java program and understanding them is essential for writing correct and efficient code.
🔍 What Are Java Literals?
A literal is a fixed value written directly in the source code. When you declare a variable and assign a value like int x = 10;
, 10
is a literal. Java supports several types of literals: integer, floating-point, boolean, char, and string.
🔢 Integer Literals
Integer literals are whole numbers. You can define them in decimal, binary, octal, or hexadecimal format.
Examples:
int decimal = 42; // Decimal (base 10)
int binary = 0b101010; // Binary (Java 7+)
int octal = 052; // Octal (prefix 0)
int hex = 0x2A; // Hexadecimal (prefix 0x)
✅ Best Practice: Use underscores for readability in large numbers:
int big = 1_000_000; // Easier to read
🌊 Floating-Point Literals
Floating-point literals represent decimal values with fractional parts.
Examples:
float pi = 3.14f; // 'f' or 'F' suffix required for float
double e = 2.71828; // double by default
double exp = 1.2e3; // Scientific notation (1.2 × 10³)
⚠️ Common Mistake: Omitting f
for float will cause a compilation error because decimal literals are double
by default.
✅ Boolean Literals
Boolean literals can only be true
or false
.
boolean isJavaFun = true;
boolean isSkyGreen = false;
🔑 Tip: Useful for control flow and conditions.
🔤 Char Literals
Char literals represent a single 16-bit Unicode character enclosed in single quotes.
Examples:
char letter = 'A';
char digit = '9';
char escape = '\n'; // Newline
char unicode = '\u0041'; // Unicode for 'A'
⚠️ Anti-Pattern: Using numeric values instead of meaningful characters reduces readability.
📝 String Literals
String literals are sequences of characters enclosed in double quotes.
Examples:
String greeting = "Hello, Java!";
String empty = ""; // Empty string
String withEscape = "Line1\nLine2";
💡 Best Practice: Strings are immutable; use StringBuilder
for frequent modifications.
🆚 Comparison Table of Java Literals
Literal Type | Example | Notes |
---|---|---|
Integer | 42 , 0x2A |
Whole numbers, multiple bases |
Floating-Point | 3.14f , 1e3 |
Decimal with fraction or exponent |
Boolean | true , false |
Only two possible values |
Char | 'A' , '\\n' |
Single Unicode character |
String | "Hello" |
Immutable sequence of characters |
💡 Tips and Best Practices
- Use literals to initialize constants.
- Prefer
final
keyword for immutable values. - For monetary values, avoid floating-point literals; use
BigDecimal
.
🚫 Common Mistakes
- Using double quotes for char (
"A"
instead of'A'
). - Forgetting the
f
suffix for float literals. - Relying on octal literals accidentally by starting numbers with
0
.
📌 Performance Insights
- Literals are resolved at compile time, so they incur no runtime overhead.
- Large numbers should use
long
literals with anL
suffix (10000000000L
).
🧩 Java Version Relevance
Java Version | Change |
---|---|
Java 7 | Introduced binary literals and underscores in numbers |
Java 5+ | Enhanced Unicode escape handling in char literals |
✅ Summary
- Java literals represent fixed values in code.
- Types include integer, floating-point, boolean, char, and string.
- Best practices and correct usage ensure readability and maintainability.