Het switch statement

Keuze

In dit programma wordt met het switch statement een dagnummer omgezet naar de naam van de dag

Applet

Programmacode

// Dit voorbeeld geeft de naam van de dag bij het dagnummer
// Switch.java
import java.awt.*;
import java.awt.event.*;	
import java.applet.Applet;

public class Switch extends Applet implements ActionListener{
	Label vraag; 
	TextField invoer; 
	int dag; 			// het dagnummer

    public void init() {
	vraag = new Label( "Geef een dagnummer: " );
	invoer = new TextField( 5 ); 
	add( vraag ); 							
	add( invoer );	
	invoer.addActionListener(this);					
								
    }

    public void actionPerformed( ActionEvent e) {
	dag= Integer.parseInt( invoer.getText() );
	// het switch statement
	switch (dag) { 
             case 1: showStatus("maandag ");         break; 
             case 2: showStatus("dinsdag ");         break; 
             case 3: showStatus("woensdag ");        break; 
             case 4: showStatus("donderdag ");       break; 
             case 5: showStatus("vrijdag ");         break; 
             case 6: showStatus("zaterdag ");        break; 
             case 7: showStatus("zondag ");          break; 
             default: showStatus("dagnummer " + dag + " bestaat niet"); 
	} 
    }
}           

Uitleg

analyse

deeltaken
vraag en lees het dagnummer
druk de naam van de dag af op de statusbalk

gegevens
invoer: dag ; het dagnummer als integer

Ontwerp

de methode init
alloceer eenLabel vraag en een TextField invoer en meld deze aan bij de layoutmanager.

de methode actionPerformed
lees het ingevoerde dagnummer
bepaal de naam van de dag met het switch statement

Het effect van een switch:

  1. Evalueert de expressie tussen haakjes (dag).
  2. Gaat naar het case-label met de constante waarde die gelijk is aan die van de expressie in de eerste. Als geen label met die waarde aanwezig is gaat dan naar het default-label, en als die ook ontbreekt eindigt de switch.
  3. Beëindigt de switch als een break-statement optreedt. Gaat anders door naar het volgende label tot het eind van het switch-statement.

Het break statement
Het switch-statement wordt na uitvoering van het laatste case-statement automatisch verlaten. Het break-statement mag daar weggelaten worden. Dat geldt niet voor de andere break-statements. Als we alle breaks uit het voorbeeld verwijderen en dag heeft de waarde 1 dan worden na elkaar alle dagen van de week èn het default-statement afgedrukt. Of in een andere geval dag heeft de waarde 5 dan wordt afgedrukt "

	switch (dag) { 
             case 1: showStatus("maandag ");          
             case 2: showStatus("dinsdag ");          
             case 3: showStatus("woensdag ");     
             case 4: showStatus("donderdag ");      
             case 5: showStatus("vrijdag ");        
             case 6: showStatus("zaterdag ");        
             case 7: showStatus("zondag ");        
             default: showStatus("dagnummer " + dag + " bestaat niet"); 
	} 

Geeft als resultaat:

vrijdag 
zaterdag 
zondag 
dagnummer 5 bestaat niet". 
copyright ® 1998 Little World