Skip to main content

So kannst du Java Konstanten bei der Programmierung nutzen

Java Konstanten – was kann man sich darunter vorstellen?

Du kennst Konstanten in der Mathematik.
Die Kreiszahl Pi ist so eine konstante Zahl.
Diese Zahl ändert sich niemals.
Sie beträgt immer rund 3,141592.

In der Physik gelten die Lichtgeschwindigkeit, der Erdradius oder der absolute Nullpunkt als konstant.
Selbst die Geschwindigkeit mit der sich die Erde um die Sonne dreht, ist nahezu konstant.

Mit einer weiteren Konstante arbeitest du jeden Tag.
Und zwar immer dann, wenn du auf die Uhr schaust.

Ein Tag hat 24 Stunden, eine Stunde hat 60 Minuten und eine Minute 60 Sekunden.

Konstanten sind somit in erster Linie:

  • Grenzwerte bzw. Maxime, wie die Lichtgeschwindigkeit oder der Nullpunkt.
  • Sie sind aber auch Größen, welche es uns ermöglichen die Welt in eine gewisse Ordnung zu bringen.
    Wie bei der Zeitmessung.
  • Wir können durch Konstanten Intervalle schaffen, wie bei der Uhrzeit.
  • Und Konstanten sind feste Richtwerte, damit wir uns in einem gewissen Themenumfeld überhaupt zurecht finden.
    Wie zum Beispiel die Kreiszahl.

Wo gibt es bereits Konstanten in der Java Programmierung?
Der Wertebereich für bestimmte Datentypen ist konstant.
Hier gibt es ganz klare Grenzen – ein Maximum und ein Minimum.
Eine Integer-Zahl kann nur zwischen -2.147.483.648 und 2.147.483.648 liegen.

Oder auch der Arbeitsspeicher, welcher dir in einem bestimmten Computer zur Verfügung steht – ist konstant.
Du kannst nicht einfach so über diesen Grenzwert hinausgehen.

In diesem Beitrag möchte ich dir zeigen, wie du Konstanten in Java anlegst.
Beim Anlegen von Java Konstanten müssen außerdem bestimmte Bedingungen erfüllt sein.
Diese stelle ich dir ebenfalls vor.

Also legen wir los..

Java Konstanten sind immer öffentlich

Und das ist die erste Bedingung.
Eine Konstante muss zugänglich sein.
Sie darf sich also nach außen nicht verstecken.

Alle Java Klassen in einem Programm sollen in der Lage sein, diese Konstante zu nutzen.

Am Beispiel:

public class Konstanten {	
	
	public static void main(String[] args) {
		System.out.println(Long.MIN_VALUE);//Unterer Wertebereich einer Long-Variablen
	}
}

Die Konstante Long.MIN_VALUE gibt die untere Grenze für den Wertebereich eines Long-Datentypen an.
Diese Konstante kannst du in jeder Klasse aufrufen.
Du kannst diese in der main-Methode nutzen.
Aber auch in sämtlichen eigenen Methoden.

Die Frage lautet nun:
Wie machst du eine ganz normale Variable so öffentlich, dass alle Programmteile diese nutzen können?
Ganz einfach. – Durch das Keywort public.

public class Konstanten {
	public int konstante;//Variable muss öffentlich sein -deshalb public
	
	
	
	public static void main(String[] args) {

	}
}

Deklariere eine Variable, zum Beispiel i oder konstante.
Und setze das Keywort public davor und diese ist nach außen sichtbar.

Aber, ganz wichtig dabei ist….
Du musst diese auf Klassenebene anlegen.
Wenn du diese innerhalb einer Methode anlegst, ist es eine lokale Variable.
Und diese ist niemals öffentlich. Denn diese existiert nur innerhalb der Methode, in der du diese anlegst.

Java Konstanten öffentlich

Also merke dir.
Java Konstanten werden außerhalb von Methoden oder Konstruktoren anlegt.
Aber alle Methoden und Konstruktoren können diese sehen.
Der Schlüssel für diese Sichtbarkeit ist das Keywort public.

Java Konstanten sind immer schreibgeschützt.

Und dies ist die zweite Bedingung.
Ganz logisch, denn das ist ja der Zweck einer Konstanten.

Was wäre eine Konstante noch wert, wenn man diese nach Belieben ändern könnte?

Und diesen Schreibschutz, erreichst du durch das Keywort final.
Also setze das Java Keywort final in Deklaration und schon ist die Variable sicher.

public class Konstanten {
	final public int konstante=1;//Final bewirkt, dass der Wert nicht mehr verändert werden kann

}

In dem Moment, wo das Keywort final vor der Variablen steht – musst du ihr auch einen Wert zuweisen.
Aufgrund der Instanzinitialisierung wird beim Programmstart diese Variable angelegt.
Und alle Variablen ohne Wert bekommen einen Default-Wert zugewiesen.

Im Bereich Integer wäre dies der Wert 0.
Das Problem ist dann, dass die Variable mit dem Wert 0 nicht überschrieben werden kann.
Schuld daran ist der final-Modifier.

Java Konstanten können im ganzen Programm genutzt werden.

Die dritte Bedingung wird oft vernachlässigt.
Wenn wir uns diese bisherige Variable „konstante“ anschauen, dann ist diese nicht in allen Teilen des Programmes nutzbar.

Wieso?
Es handelt sich bisher lediglich um eine Instanzvariable der Klasse Konstanten.
Somit steht diese Variable sämtlichen Objekten aus der Klasse Konstanten zur Verfügung.
Objekte aus anderen Klassen können diese nicht nutzen.

Der Unterschied zwischen schreibgeschützten Variablen und echten Java Konstanten.

Es ist eigentlich ganz einfach.

Die Frage lautet:
Wie machen wir diese Variable nun nutzbar für alle Objekte und Klassen?
Ganz einfach. Setze das Keywort static in die Deklaration der Variablen ein.

public class Konstanten {
	final static public int konstante=1;//Static macht aus einer schreibgeschützen Variablen eine Konstante
}

Durch das Keywort static wird aus jeder Instanzvariablen eine Klassenvariable.
Und diese Klassenvariable ist nicht mehr objektabhängig, sondern steht allen Teilen des Programmes zur Verfügung.

So legst du eine Konstante in Java an.

Jetzt hast du die einzelnen Schritte schon vollzogen.

Nochmal ganz kurz:

  • Das Keywort public bewirkt, dass diese Variable nach außen sichtbar wird.
  • Das Keywort final macht diese Variable schreibgeschützt.
  • Das Keywort static macht aus einer objektabhängigen Variablen eine unabhängige Klassenvariable.

Was jetzt noch fehlt ist die richtige Namenskonvention.
Konstanten werden in Java immer komplett groß geschrieben.
Falls du zwei Namen nutzen möchtest, dann verbindest du beide Wörter durch einen Unterstrich.

Andere Programmierer oder du selbst, sehen beim Zugriff auf diese Konstante sofort:

„Ah diese Variable ist komplett großgeschrieben. Es handelt sich somit um eine Konstante.
Dieser Wert kann also nicht geändert werden.“

public class Konstanten {
	final static public int KONSTANTE = 1;// Java Konstante
	final static public int MIN_WERT = 2;//Konstante
	final static public int I = 1;//Konstante
}

So das war es fast schon.
Eines bleibt noch zu sagen.

So kannst du Java Konstanten in anderen Java Klassen nutzen.

Hier nochmal das Beispiel der Long-Konstanten.
Die Konstante wird an der Klasse „Long“ aufgerufen und dann folgt der Name der Konstanten.

public class Konstanten {	
	
	public static void main(String[] args) {
		System.out.println(Long.MIN_VALUE);//Aufruf geschieht über den Klassennamen Long
	}
}

Und genauso so, machst du es auch:

  • Meine Konstanten sind in der Klasse „Konstanten“.
    Somit schreibe ich zuerst den Klassennamen – Konstanten
  • Setze dann den Punkt für die Punktnotation.
  • Und dann schreibst du den Namen der genutzten Konstante.

Hier ist der Java Code zum Nutzen der Konstante in einer anderen Klasse:

public class KonstantenTestKlasse {

	public static void main(String[] args) {
		int u1 = Konstanten.I; //Zuerst der Klassenname und dann die Konstante
		System.out.println(u1);//Zum Test - Ausgabe des Wertes
		
		
		System.out.println(Konstanten.KONSTANTE);//Zum Test -Ausgabe des Wertes
		
		System.out.println(Konstanten.MIN_WERT* 1000);//Zum Test Weiterberechnung mit Java Konstanten
	}
}

Du sieht mit Konstanten lässt sich rechnen.
Du kannst die Werte der Konstanten in anderen Variablen zwischenspeichern.
Oder du lässt dir die Werte auf der Konsole ausgeben.

Zusammenfassung:

  • Java Konstanten sind feste Werte, welche bestimmte Grenzen vorgeben.
  • Oder du nutzt Konstanten, um Nebenrechnungen mit gleichbleibenden Werten durchzuführen.
  • Achte bitte darauf, dass du die Namenskonventionen für Konstanten einhältst.
    Somit sieht jeder und du selbst auch, dass sich hinter einer bestimmten Variablen ein konstanter Wert verbirgt.
  • Beim Zugriff auf Java Konstanten musst du immer die Klasse ansprechen, in welcher sich diese befindet.

Ähnliche Beiträge

Java Binärzahl in Dezimalzahl umwandeln – So geht’s.

Java-Binärzahl-umrechnen

Erinnerst du dich? In einer der letzten Beiträge haben wir uns die Zusammenhänge zwischen dem dualen und dem dezimalen Zahlensystem angeschaut. Aber wir haben noch keine Java Binärzahl in eine Dezimalzahl verwandelt. Zumindestens nicht praktisch…. Stattdessen…. Haben wir festgestellt, dass beide Zahlensysteme im Grunde genommen sehr ähnlich sind. Beim Dezimalsystem spielt die Zahl 10, als […]

So kannst du Werte aus zwei oder mehreren Java Arrays verrechnen.

Java Arrays verrechnen

Wie kann man Werte aus zwei oder mehreren Java Arrays miteinander verrechnen? Zum Beispiel: Du möchtest alle Werte des ersten Arrays mit allen Werten des zweiten Arrays addieren Oder du möchtest die Summe aus beiden Arrays wissen und erst dann diese miteinander addieren. Was erwartet dich in diesem Beitrag? Zuerst werde ich dir zeigen, wie […]

Java Vererbung – Die Hierarchien richtig planen

Java Vererbung Hierarchien

Java Vererbung hat nichts mit Biologie zu tun. Die Genetik besagt, dass bestimmte Merkmalsausprägungen von den Eltern auf die Kinder übergehen. Solche Merkmalsausprägungen sind: die Hautfarbe die Haarfarbe die spezifische Größe und weitere körperliche Merkmale. Und in Java – was ist da Vererbung? Lass es uns herausfinden. Was erwartet dich in diesem Beitrag? Zuerst schauen […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

Java Übung 24 – So kannst du Kommazahlen runden

Java Übung runden

In dieser Java Übung möchte ich mit dir Zahlen runden. Ich bitte dich deshalb: Erstelle eine Klasse „RundenUebung“. Lege dann eine statische Methode rundeZahl() an. Diese erwartet zwei Parameter. Parameter 1 ist die Kommazahl, welche gerundet werden soll. Als zweiten Parameter wird eine ganze Zahl übergeben, welche die Nachkommastelle – bis auf welche letztlich gerundet […]

Java For Each Schleife – Aufbau und Funktionsweise

Java for each Schleife

In einer anderen Lektion habe ich dir bereits gezeigt, wie du ein Java Array mit einer for-Schleife füllen und dir später die Werte zurückgeben lassen kannst. Es gibt allerdings einen weiteren Schleifentyp, welche geradezu prädestiniert ist für Java Arrays. Dieser Schleifentyp nennt sich for each Schleife. In diesem Beitrag möchte ich dir zeigen, wie du […]

Der bedeutende Unterschied zwischen Klassenvariablen und Instanzvariablen

Java Klassenvariablen

Bei der Java Programmierung unterscheidet man drei Arten von Variablen. Als erste Gruppe sind die lokalen Variablen zu nennen. Auf diese gehe ich in einem separaten Artikel ein. Mich interessieren die zwei anderen Variablentypen. Zum einen existieren Klassenvariablen. Und dann sind da noch die Instanzvariablen. Wo liegt der Unterschied? Instanzvariablen stehen einem Objekt zur Verfügung. […]

Beim Aufruf werden Java Methoden auf dem Stack gestapelt

Java Methoden gestapelt

Java Methoden werden beim Aufruf gestapelt. Und jedes Element auf dem Stapel nimmt Speicherplatz weg. Und manchmal ist es so, dass der Stapel richtig hoch wird und dann…. Ja was passiert eigentlich dann? Betrachten wir einmal ein Computerspiel. Irgendeines. In diesem Computerspiel gibt es Vögel, welche abgeschossen werden sollen. Was bedeutet das denn genau? Beim […]