Java Brackets?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Damit du deinen Code direkt ausführen kannst, benötigst du die main-Methode:

public class Vokale {
    public static void main(String[] args){
        // auszuführender Code
    }
}

Code, der direkt in eine Klasse gesetzt wird, aber die Klasse nicht definiert, ist syntaktisch falsch. Inhaltlicher Code gehört in eine Methode wie die main-Methode.

Warum es mit den zusätzlichen geschweiften Klammern funktioniert, ist vielleicht etwas zu viel für den Anfang, ich erkläre es aber trotzdem: Wird in einer Klasse auf Methodenebene ein einfacher Block gesetzt, wird dieser als sog. instance initialization-Block interpretiert. Dieser kann inhaltlichen Code enthalten und wird immer dann ausgeführt, wenn die Klasse initialisiert wird, sogar noch vor dem Konstruktor. Es ist also eher ein nicht beabsichtigter Zufall, dass der Code in diesem Fall tatsächlich syntaktisch korrekt ist.

Mehr dazu hier: https://www.baeldung.com/java-static-instance-initializer-blocks

Woher ich das weiß:Berufserfahrung – Software-Entwicklung

In eine Klasse gehört eine Methode. IMMER! Also wenn du Code ausführen willst.

public class Vokale {
  private String input = "Hallo Welt!";
  
  public void MatchInput() {
    // Dein IF
  }
}
annausbremen 
Fragesteller
 25.04.2023, 21:53

Danke :-)

0
was ist an dem Code falsch?

Dass du Code direkt in die Klasse und nicht in Methoden schreibst ...

Woher ich das weiß:Studium / Ausbildung – Abgeschlossenes Studium der Informatik (B.Sc.)