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

So organisierst und verwaltest du ganz bequem deine Java Projekte

Du kennst das auch. Denn du bist ja fleißig. Und weil du so fleißig bist, hast du mitunter auch mehrere Java Projekte gleichzeitig laufen. Und dann kommt es vor, dass du enorm viele Java Projekte am Laufen hast. Und dein Package-Explorer wird extrem unübersichtlich. In diesem Beitrag möchte ich dir zwei Varianten vorstellen, wie du […]

Java Übung 16 – Bestimme den größten gemeinsamen Teiler

Java Übung Teiler

In dieser Java Übung möchte ich, dass du den größten gemeinsamen Teiler zwei Zahlen ermittelst. Ich möchte, dass du das Ganze mit einer while-Schleife umsetzt. Und wie? Du legst eine neue Klasse „GGT“ (größter gemeinsamer Teiler) an. In diese Klasse implementierst du eine Klassenmethode „berechneGGT“. Diese erwartet zwei Argumente vom Datentyp Integer.

Overriding und Vererbung – So lassen sich Java Methoden überschreiben

Java Methoden überschreiben

In Deutschland entstehen jeden Tag tolle Geschichten. So wie diese hier…. Die größte Turmuhr der Welt, die Makkah Clock, steht in Saudi – Arabien. Und zwar direkt in Mekka. Hier ein paar Eckdaten zur Uhr: Höhe des Turmes 601 m. Das Ziffernblatt der Turmuhr hat einen Durchmesser von 43 Meter Die Länge des Minutenzeigers beträgt […]

Java lernen von Kopf bis Fuß

Wenn du Java lernen möchtest, kannst du an meinem kostenlosen Java Kurs teilnehmen. Aber manch Einer hätte gern eine zweite Meinung. Und da bieten sich natürlich Java Bücher an. Eines dieser Java Bücher möchte ich dir jetzt vorstellen. Dieses Buch nennt sich „Java von Kopf bis Fuß“. Was kannst du von diesem Buch erwarten? Also […]

Java Vererbung:
Die 3 Schablonen für deine Java Objekte

Java Vererbung Beispiel

Im letzten Beitrag habe ich dir das Java Vererbung Konzept an einem Beispiel vorgestellt. In dem Beispiel-Rollenspiel gab es Klassen zu Helden und Superhelden. Ich habe dir die Vererbungshierarchien theoretisch erläutert. Jetzt geht es ans Praktische. In diesen Beitrag lernst du: Wie du bestehende Java Klassen erweiterst Wie du Objekte aus den erweiterten Klassen erstellen […]

Java lernen durch ständiges Testen – Nutze die Testumgebung von Eclipse

Java Programmierung lernen

Probieren geht über studieren Wenn du wirklich Java Programmierung lernen möchtest, dann solltest du Java nicht aus einem Buch lernen. Du solltest auch nicht strikt von dieser oder anderen Webseiten lernen. Etwas wirklich zu lernen, setzt die Bereitschaft voraus, etwas zu probieren. Denn nur durch eigenes Probieren gelangst du zum Wesentlichen. Durch Probieren wirst du […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

So implementierst du Instanzmethoden in deine Java Klasse

Java Instanzmethoden

In einen der letzten Beiträge habe ich dir gezeigt, wie du eine Klasse anlegen kannst. Ich habe die Klasse „Mensch“ oder „Human“ angelegt und wir haben die erste Instanzvariable implementiert. Dein Code sollte jetzt so aussehen: public class Human { int size=156;//size in centimeter } In diesem Beitrag werde ich dir zeigen, wie du Java […]

Nutze die richtigen Methoden zum Java Lernen

Java lernen Methoden

Ich lernte die Java Programmierung auf die klassische Art. Ich kaufte mir das erste Buch und los ging es. „Jetzt wirst du Java lernen“ – sagte ich zu mir. Ich war relativ schnell ziemlich frustriert, denn irgendwie fehlten mir ein paar Zusammenhänge. Kennst du das? Du hast ein Wissensfetzen und noch einen. Aber das Wichtigste. […]