boolean[]
PrimitivSpeichert Wahrheitswerte (true/false). Ideal für Flaggen, Zustandsfelder und das Sieb des Eratosthenes.
false1 BitVisualisierung
54false1 BitDeklaration
So reservierst du Speicher für einen boolean[].
// Deklaration (Standardwerte: false)
boolean[] flags = new boolean[5];
// Alle Felder sind zunächst false
boolean[] besucht = new boolean[100];Initialisierung
Verschiedene Wege, ein boolean[] mit Werten zu befüllen.
// Initialisierung mit Literalen
boolean[] flags = {true, false, true, true, false};
// Initialisierung basierend auf Bedingung
int[] zahlen = {1, 2, 3, 4, 5};
boolean[] gerade = new boolean[zahlen.length];
for (int i = 0; i < zahlen.length; i++) {
gerade[i] = (zahlen[i] % 2 == 0); // false, true, false, true, false
}Typische Operationen
Zugriff, Änderung, Iteration und häufige Patterns mit boolean[].
boolean[] flags = {true, false, true, true, false};
// Zugriff
boolean erster = flags[0]; // true
// Bedingter Einsatz
if (flags[2]) {
System.out.println("Index 2 ist aktiv");
}
// Zählen der true-Werte
int anzahlTrue = 0;
for (boolean f : flags) {
if (f) anzahlTrue++; // 3
}
// Sieb des Eratosthenes (Primzahlen bis 30)
int n = 30;
boolean[] istPrim = new boolean[n + 1];
Arrays.fill(istPrim, true);
istPrim[0] = istPrim[1] = false;
for (int i = 2; i * i <= n; i++) {
if (istPrim[i]) {
for (int j = i * i; j <= n; j += i) {
istPrim[j] = false;
}
}
}Hintergründe & Details
boolean[] speichert Wahrheitswerte — entweder true oder false. Obwohl ein boolean-Wert theoretisch nur 1 Bit benötigt, verwendet die JVM intern meist 1 Byte pro Element (aus Ausrichtungsgründen). Arrays.fill() ist nützlich, um alle Felder auf einen Wert zu setzen.
Standardwert: Alle Elemente werden mit false initialisiert. Das ist besonders praktisch für Algorithmen wie das Sieb des Eratosthenes oder Besuchsmarkierungen in Graphen.
Klassische Anwendung — Sieb des Eratosthenes: Mit einem boolean[]-Array kannst du effizient alle Primzahlen bis zu einer Grenze n finden. Der Algorithmus markiert alle Vielfachen jeder Primzahl als false — ein Paradebeispiel für die Stärke von boolean-Arrays.
Alternativen: Für sehr große boolean-Arrays (Millionen von Einträgen) ist java.util.BitSet speichereffizienter — es speichert 8 Werte pro Byte statt 1.
Typische Anwendungsfälle: Besuchsmarkierungen in Graphen/BFS/DFS, Feature-Flags, Siebe-Algorithmen, Zustands-Bitfelder, Filter-Masken.