⟨info/⟩

boolean[]

Primitiv

Speichert Wahrheitswerte (true/false). Ideal für Flaggen, Zustandsfelder und das Sieb des Eratosthenes.

Standardwert:false
Größe:1 Bit

Visualisierung

boolean[]5 Elemente
true
[0]
false
[1]
true
[2]
true
[3]
false
[4]
Länge:5
Letzter Index:4
Standardwert:false
Bits/Element:1 Bit

Deklaration

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.