Lesson 32
Enumeration (Enum)
Enum defines a fixed set of constants. Improves readability, type safety and works with switch statements.
Java Track
Save progress as you learn.
61 lessons
Lesson content
Enum is a special class for predefined constants. Values cannot be changed after creation.
Key Terms
- Enum: Fixed set of predefined constants.
- Constant: Value that cannot change at runtime.
- values(): Returns all enum constants as array.
- Switch Statement: Executes code based on enum value.
Enum Syntax
enum EnumName {
CONSTANT1,
CONSTANT2,
CONSTANT3
}
// Iterate through enum
for (ClassName obj : ClassName.values()) {
System.out.println(obj);
}Example 1: Enum with Switch and For Loop
package Methods;
public class EnumExample {
enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}
public static void main(String[] args) {
Day today = Day.SATURDAY;
System.out.println("Today is " + today);
switch (today) {
case MONDAY:
System.out.println("It's a workday.");
break;
case SATURDAY:
case SUNDAY:
System.out.println("It's the weekend.");
break;
default:
System.out.println("It's a weekday.");
}
Day[] days = Day.values();
System.out.println("Days of the week:");
for (Day day : days) {
System.out.println(day);
}
}
}Output
Today is SATURDAY
It's the weekend.
Days of the week:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAYCommon Enum Uses
- Days: SUNDAY, MONDAY, TUESDAY...
- Months: JANUARY, FEBRUARY, MARCH...
- Status: ACTIVE, INACTIVE, PENDING
- Roles: ADMIN, USER, GUEST
FAQ
1. What is an enum?
Special data type for fixed predefined constants.
2. Can enums use switch?
Yes. Works directly with switch statements.
3. What does values() do?
Returns array of all enum constants.
Where Java is used
Java in real-world development
Enum Declaration
Use enum keyword. Constants listed in uppercase inside curly braces.
Type Safety
Only defined constants can be assigned. No invalid values allowed.
Switch with Enum
Enum values used directly as switch cases. Cleaner decision logic.
values() Method
Returns all enum constants as array. Use with enhanced for loop.
Common Uses
Days, months, status codes, user roles, directions.
Best Practice
Use enums over string constants. Better safety and readability.