Java wan muss ich eine geschweifte klammer setzen woran merke ich des?

3 Antworten


Kevinsteineet 
Beitragsersteller
 11.03.2017, 11:58

Was sind blöcke woran merke ich das?

1
verreisterNutzer  11.03.2017, 12:17
@Kevinsteineet

Die Beschreibung von Blockanweisungen ist rekursiv, das bedeutet, Aufruf einer Funktion durch sich selbst. 

Mal ein Beispiel: 

  • Dies ist ein gültiges Java–Programm. Im Klassenkörper ist die Methode main enthalten. In deren Methodenkörper sind zwei ineinander verschachtelte Blöcke enthalten.
  • Der Klassenkörper wird auch durch geschweifte Klammern abgegrenzt, sieht also genauso aus wie ein Blöcke aus. Er ist aber dennoch kein Anweisungsblock, da er keine Anweisungen sondern nur Definitionen enthalten darf: 

public class DemoBlock { // hier startet der Klassenkörper

  public static void main( String[] args )

   { // hier startet der Methodenkörper

       ; // Leere Anweisung

            { // hier startet Block 1

                      { // und hier startet Block 2

                          System.out.println("Hallo, Welt !");

     } // hier endet Block 2 

        } // hier endet Block 1

            } // hier endet der Methodenkörper  

                 { // hier startet der Klassenkörper 


Auch: https://www.wire.tu-bs.de/lehre/eip\_static/eiptext/kap9.pdf






1

Faustregel: immer dann, wenn du einen eingerückten Block hast.

Es gibt immer einen Head (so nenne ich es zumindest) und einen Rumpf. Im Head wird der Aufruf o. ähnl. deklariert, im Rumpf steht das, was dann tatsächlich aufgerufen wird.

Also:

Head {
//Rumpf
}

Beispiele: (Das Schräge ist immer der Head, alles fette ist zwingend, der Rest ist optional, die Rümpfe lasse ich leer.)

  • Klassen
public class MeineKlasse extends WasAnderes implements MehrZeug {
}
  • Methoden
//Beispiele:
public static void main(String[] args) {
} //eine Mainmethode

public void meineMethode() {
}

private int getIrgendEineZahl() {
return eineZahl;
}

//Allgemein:
Sichtbarkeitsebene static/abstract/etc Rückgabewert methodenName(parameter) {
Methodenaufrufe;
}

Sichtbarkeitsebene: public, private, protected etc

static/abstract/etc: optionales Argument

Rückgabewert: im Normalfall void

Parameter: was man der Methode übergeben muss

  • Schleifen
for(int i=0; i<eineZahl; i++) {
}

for(int i:intArray) {
}

while(Bedingung) {
}

do {
} while(Bedingung);
  • try-catch-Struktur
try {
wasRiskantes();
} catch(Exception ex) {
}
  • if-else-Struktur
if(Bedingung) {
}

if(Bedingung) {
} else {
}
  • switch-case-Struktur
switch(meinChar) {
case('a'): {}
case('b'): {}
}

In Java muss zu Beginn und Ende jedes Block geschweifte Klammer.
Blöcke sind Klassen, Methoden, Schleifen, bedingte Blöcke etc.


Kevinsteineet 
Beitragsersteller
 11.03.2017, 11:58

Was sind blöcke woran merke ich das?

0
TUrabbIT  11.03.2017, 12:00

im Prinzip lernen: jede Klasse, jede Methode, nach if, nach else usw., nach for(...), while (...), etc.

0