SrcForge

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
SATURDAY

Common 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.

Enum defines a fixed set of constants.
Use enum keyword to declare.
Constants cannot be changed at runtime.
values() returns all constants as array.
Works directly with switch statements.
Prevents invalid values from being assigned.
Prefer enums over string 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.