Menu
Coddy logo textTech

Konstanten (static final)

Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy. Lektion 18 von 87.

Die Kombination von static und final erzeugt eine Konstante – einen Wert, der zur Klasse gehört und niemals geändert werden kann. Dies ist die Standardmethode, um Konstanten in Java zu definieren.

public class GameSettings {
    public static final int MAX_PLAYERS = 4;
    public static final double GRAVITY = 9.81;
    public static final String GAME_TITLE = "Space Adventure";
}

Konventionell verwenden Konstantennamen UPPER_SNAKE_CASE, um sie von regulären Variablen zu unterscheiden. Da sie sowohl static als auch final sind, greifst du über den Klassennamen auf sie zu, und ihre Werte ändern sich garantiert nie:

System.out.println(GameSettings.MAX_PLAYERS);  // 4
// GameSettings.MAX_PLAYERS = 8;  // Fehler! Kann nicht geändert werden

Konstanten werden typischerweise als public deklariert, weil sie in der gesamten Anwendung gemeinsam genutzt werden sollen. Denke an Werte wie Math.PI – es handelt sich um eine öffentliche statische finale Konstante, die jeder Code verwenden kann.

Warum sollte man Konstanten anstelle von fest codierten Werten verwenden? Wenn Sie 4 überall in Ihrem Code schreiben und diese später in 6 ändern müssen, müssten Sie jedes Vorkommen finden und aktualisieren. Mit einer Konstante wie MAX_PLAYERS ändern Sie sie an einer einzigen Stelle.

Konstanten machen den Code zudem lesbarer – MAX_PLAYERS ist klarer als eine mysteriöse 4.

challenge icon

Aufgabe

Einfach

Lass uns ein MathConstants-Dienstprogramm erstellen, das wichtige mathematische Werte als Konstanten speichert, zusammen mit einem CircleCalculator, der diese Konstanten für Berechnungen verwendet.

Du wirst zwei Dateien erstellen, um deinen Code zu organisieren:

  • MathConstants.java: Erstelle eine Klasse, die mathematische Konstanten mithilfe von public static final-Feldern enthält:
    • PI mit dem Wert 3.14159
    • E (Eulersche Zahl) mit dem Wert 2.71828
    • GOLDEN_RATIO mit dem Wert 1.61803
    Denke daran, für Konstantennamen UPPER_SNAKE_CASE zu verwenden!
  • Main.java: Verwende deine Konstanten, um Kreisberechnungen durchzuführen. Du erhältst einen Radius als Eingabe und gibst drei Zeilen aus:
    • Die Fläche des Kreises: Area: [value]
    • Der Umfang des Kreises: Circumference: [value]
    • Der Durchmesser skaliert mit dem goldenen Schnitt: Golden Diameter: [value]

Für die Berechnungen:

  • Fläche = PI * Radius * Radius
  • Umfang = 2 * PI * Radius
  • Goldener Durchmesser = 2 * Radius * GOLDEN_RATIO

Du erhältst eine Eingabe: den Radius (double).

Formatiere alle Ausgabewerte mit String.format("%.2f", value) auf 2 Dezimalstellen. Greife über den Klassennamen auf deine Konstanten zu, zum Beispiel mit MathConstants.PI.

Probier es selbst

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double radius = scanner.nextDouble();
        
        // TODO: Berechne die Fläche unter Verwendung von MathConstants.PI
        // Formel: PI * radius * radius
        
        // TODO: Berechne den Umfang unter Verwendung von MathConstants.PI
        // Formel: 2 * PI * radius
        
        // TODO: Berechne den Goldenen Durchmesser unter Verwendung von MathConstants.GOLDEN_RATIO
        // Formel: 2 * radius * GOLDEN_RATIO
        
        // TODO: Gib die Ergebnisse auf 2 Dezimalstellen formatiert aus
        // Verwende String.format("%.2f", value) für die Formatierung
        // Ausgabeformat:
        // Area: [value]
        // Circumference: [value]
        // Golden Diameter: [value]
        
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Java-Compiler