Groovy - instrução de switch aninhada

Também é possível ter um conjunto aninhado de switchafirmações. A forma geral da declaração é mostrada abaixo -

switch(expression) { 
   case expression #1: 
   statement #1 
   ... 
   case expression #2: 
   statement #2
   ... 
   case expression #N: 
   statement #N 
   ... 
   default: 
   statement #Default 
   ... 
}

A seguir está um exemplo da instrução switch aninhada -

class Example { 
   static void main(String[] args) { 
      //Initializing 2 variables i and j 
      int i = 0; 
      int j = 1; 
		
      // First evaluating the value of variable i 
      switch(i) { 
         case 0: 
            // Next evaluating the value of variable j 
            switch(j) { 
               case 0: 
                  println("i is 0, j is 0"); 
                  break; 
               case 1: 
                  println("i is 0, j is 1"); 
                  break; 
               
               // The default condition for the inner switch statement 
               default: 
               println("nested default case!!"); 
            } 
         break; 
			
         // The default condition for the outer switch statement 
         default: 
            println("No matching case found!!"); 
      }
   }
}

No exemplo acima, estamos primeiro inicializando uma variável para a com um valor de 2. Temos então um switch declaração que avalia o valor da variável a. Com base no valor da variável, ele executará o conjunto de instruções de caso relevante. A saída do código acima seria -

i is 0, j is 1