Vorlesung Informatik 1 - Teil A: Java Kurs

1.16 Verzweigung

Es gibt drei Arten von Kontrollstrukturen:

Sequenz: Anweisungen, die nacheinander ausgeführt werden. 
        das machen wir schon seit unserem ersten Programm.
Verzweigung: Anweisungen, die in Abhängigkeit einer logischen Bedingung ausgeführt werden
Schleife: Anweisungen, die mehrfach ausgeführt werden.

Für Verzweigungen verwendet man die if-Anweisung:
        if(<boolean-Ausdruck>){  Anweisung(en);   }
Die Anweisung(en) werden nur ausgeführt, wenn der boolean-Ausdruck true ergibt.

Die wichtigsten boolean-Ausdrücke für uns sind Vergleichsausdrücke.
              x>5        x!=0          y==1              

Beispiel:

     double wurzel(double x){
          double w=0.0;
           if(x>0.0) w = {Math.sqrt(x);  }   // würde bei negativem x einen Fehler erzeugen
           return w;
     }

      

Man kann auch noch einen else-Zweig anfügen:

        if(<boolean-Ausdruck>){  Anweisung(en);   }

        else {  Anweisung(en);   }
    
     
 Wichtig: Objekte niemals mit == oder != vergleichen, sondern mit der Methode equals():

      if(Color.RED.equals(this.getBackground)) ...   

Die Methode equals(): boolean  erbt jede Klasse von der Basisklasse Object.   


Beispiel: ein Panel, das seine Farbe zwischen Schwarz und Weiß wechselt:
      class BlinkPanel extends JPanel implements ActionListener{
            public BlinkPanel(){      
                  Timer tick = new Timer(1000,this);
                  tick.start();
            }
           @Override
           public void actionPerformed(ActionEvent e){
                    if(Color.BLACK.equals(this.getBackground())){
                              this.setBackground(Color.WHITE);
                    }else{
                              this.setBackground(Color.BLACK);
                    }
        }


Weiterführende Links

Kapitel zur if-Anweisung in Java ist auch eine Insel

Lehrvideo  (YouTube)