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:
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);
}
}