Java >> Tutoriel Java >  >> Tag >> switch

Instruction de changement de cas en Java

L'instruction switch sélectionne l'un des nombreux blocs de code à exécuter. Voici comment cela fonctionne :

  • L'expression switch n'est évaluée qu'une seule fois
  • La valeur de l'expression est comparée aux valeurs de chaque circonstance
  • Si une correspondance est trouvée, le bloc de code correspondant est exécuté
  • Les mots clés break et default sont facultatifs et seront abordés plus tard

Instruction de changement de casse Java

L'instruction switch en Java a la syntaxe suivante :

switch (expression) {

  case value1:
    // code
    break;
  
  case value2:
    // code
    break;
  
  ...
  ...
  
  default:
    // default statements
  }

Quel est le but de l'instruction switch-case ?

L'expression est évaluée une fois et les valeurs de chaque instance sont comparées. Si l'expression correspond à value1, le code case value1 est déclenché. De même, si l'expression correspond à value2, le code de case value2 est exécuté. Si aucune correspondance n'est trouvée, le code du cas par défaut est exécuté.

L'instruction switch-case fonctionne de la même manière que Java if…else…if. La syntaxe de l'instruction switch, en revanche, est beaucoup plus propre et plus facile à lire et à écrire. Le numéro du jour de la semaine est utilisé pour calculer le nom du jour de la semaine dans l'exemple ci-dessous :

public class Main {
  public static void main(String[] args) {
    int chooseDay = 6;
    switch (chooseDay) {
      case 1:
        System.out.println(" It is a Monday");
        break;
      case 2:
        System.out.println("It is a Tuesday");
        break;
      case 3:
        System.out.println("It is a Wednesday");
        break;
      case 4:
        System.out.println("It is a Thursday");
        break;
      case 5:
        System.out.println("It is a Friday");
        break;
      case 6:
        System.out.println("It is a Saturday");
        break;
      case 7:
        System.out.println("It is a Sunday");
        break;
    }
  }
}

Créer le mot-clé

Le terme "break" décrit une période pendant laquelle Java quitte le bloc switch lorsqu'il atteint le mot-clé break. Plus de code et de tests de cas ne sont pas exécutés à l'intérieur du bloc pour cette raison. Il est temps de faire une pause une fois que vous avez découvert une correspondance et terminé la tâche. Aucun test supplémentaire n'est requis.

Une pause peut faire gagner beaucoup de temps car elle "ignore" l'exécution du reste du code dans le bloc switch.

Quel est le mot clé par défaut ?

Au cas où il n'y aurait pas de cas correspondant, le mot-clé par défaut définit du code à exécuter. Si elle est utilisée comme dernière instruction dans un bloc switch, l'instruction par défaut ne nécessite pas de pause.

public class Main {
  
  public static void main(String[] args) {
    int chooseDay = 4;
    switch (chooseDay) {
      case 6:
        System.out.println("Today is Saturday");
        break;
      case 7:
        System.out.println("Today is Sunday");
        break;
      default:
        System.out.println("It is a rest day");
    }    
  }
}

Ne pas utiliser l'instruction break

L'utilisation de l'instruction break est facultative. Si la pause est ignorée, l'exécution se poursuivra dans le cas suivant. Cependant, plusieurs cas sans instructions de rupture entre eux sont parfois bénéfiques. Par exemple, considérez la version révisée du logiciel ci-dessus, indiquant si un jour donné est un jour de semaine ou un jour de week-end.

// Java program demonstrating the switch case with multiple cases without break statements

public class Test {
	public static void main(String[] args)
	{
		int day = 2;
		String typeOfDay;
		String daysActivity;

		switch (day) {
		// multiple cases without break statements

		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			typeOfDay = "On Duty";
			break;
		case 6:
		case 7:
			typeOfDay = "Holiday";
			break;

		default:
			typeOfDay = "Invalid  Answer";
		}

		System.out.println( daysActivity + " is a " + typeOfDay);
	}
}

Instructions Switch Case imbriquées

Un commutateur peut être utilisé dans le cadre de la séquence d'instructions d'un commutateur externe. C'est ce qu'on appelle un commutateur imbriqué. Étant donné qu'une instruction switch crée son bloc, il n'y a pas de conflits entre les constantes de casse dans les commutateurs internes et externes. Considérez le scénario suivant :

// Java program to demonstrate how to use a nested switch case statement
public class Test {
	public static void main(String[] args)
	{
		String Branch = "electives";
		int yearOfStudy = 3;

		switch (yearOfStudy) {
		case 1:
			System.out.println("main course : Computer  Studies in General");
			break;
		case 2:
			System.out.println("main course : Understanding Digital Mathematics");
			break;
		case 3:
			switch (electives) // nested switch
			{
			case "BIG DATA":
			case "DATA SCIENCE":
				System.out.println("elective options : The diversity of data in the digital age");
				break;

			case "DATABASE":
				System.out.println("elective options : Relational Databases");
				break;

			default:
				System.out.println("elective options : Machine Learning in CS");
			}
		
		case 4:
			System.out.println("main course : Advanced data structures and Algorithms");
			break;
		}
	}
}

Voici quelques règles d'instruction switch essentielles :

  • Les valeurs de casse identiques ne sont pas autorisées.
  • La valeur d'un cas doit être du même type de données que la variable du commutateur.
  • La valeur d'un cas doit être soit une constante, soit un littéral. Les variables ne sont pas autorisées.
  • L'instruction break est utilisée pour terminer une séquence d'instructions à l'intérieur du commutateur.
  • L'instruction break n'est pas obligatoire. Si ce paramètre est laissé vide, l'exécution passera au cas suivant.
  • La déclaration par défaut peut aller n'importe où dans le bloc de commutateur et est facultative. Si ce n'est pas à la fin, une instruction break est ajoutée après l'instruction par défaut pour empêcher l'exécution de l'instruction case suivante.

Exemple 1 :Instruction de changement de cas sur les résultats des élèves

Example 1: Switch Case Statement on Students Results

// Java Program for checking the size using the switch...case statement

class Main {
  public static void main(String[] args) {

    int num = 20;
    String result;

    // switch statement to check student results
    switch (num) {

      case 20:
        result = "Below Average";
        break;

      case 51:
        result = "Average";
        break;

      // match the value of week
      result 71:
        size = "Good";
        break;

      case 94:
        result = "Excellent";
        break;
      
      default:
        result = "Unknown";
        break;

    }
    System.out.println("Your Score is: " + result);
  }
}

Nous avons utilisé l'instruction switch dans l'exemple précédent pour trouver la taille. Nous avons un nombre variable ici. La valeur de chaque instruction case est comparée à la variable. Par exemple, le code pour le cas 20 est exécuté puisque la valeur correspond à 20. La variable de taille reçoit la valeur "En dessous de la moyenne" dans ce cas.

Conclusion

À l'aide d'exemples, vous avez appris à utiliser l'instruction switch en Java pour réguler le flux d'exécution de votre programme. L'instruction switch nous permet de choisir plusieurs manières différentes d'exécuter un bloc de code. Une instruction de branche multidirectionnelle est l'instruction switch. Cela simplifie l'acheminement de l'exécution vers d'autres zones de code en fonction de la valeur de l'expression. Les types de données primitifs byte, short, char et int peuvent tous être utilisés dans l'expression. Il fonctionne également avec les types énumérés comme Enums dans les classes Java, String et Wrapper, à partir de JDK7.


Balise Java