Groovy Operators

Control Statements

Groovy File Handling

Groovy Error & Exceptions

Groovy Multithreading

Groovy Synchronization

Groovy - Range in Switch Statements



Groovy Ranges can be used in switch statements to handle range of values effectively. Following is the syntax of using ranges in switch statement.

switch(value) { 
   case range #1: 
      // statements to execute if value is within range #1
      ... 
   case range #2: 
      // statements to execute if value is within range #2
      ... 
   case range #N: 
      // statements to execute if value is within range #N 
      ... 
   default:
      statement #Default 
      ... 
} 

Example - Use of Numerical Ranges in a Switch Statement

Following is an example of the switch statement −

Example.groovy

class Example { 
   static void main(String[] args) { 
      //initializing a local variable 
      int score = 75
		
      // Evaluating the value as per range 
      switch(score) { 			
         case 90..100: 
            println("A"); 
            break; 
         case 80..<90: 
            println("B"); 
            break; 
         case 70..<80: 
            println("C"); 
            break; 
         case 60..<70: 
            println("D"); 
            break;
         case 0..<60: 
            println("E"); 
            break;			
         default: 
            println("Invalid Score"); 
            break; 
      }
   }
}

Output

In the above example, in switch statement, we're using range of numbers to get the relevant rating based on the scores obtained.

C

Example - Use of Charater based Ranges in a Switch Statement

Following is an example of the switch statement on character based ranges −

Example.groovy

class Example { 
   static void main(String[] args) { 
      //initializing a local variable 
      char band = B
		
      // Evaluating the value as per range
      switch(band) { 			
         case 'A'..'B': 
            println("Top Tier"); 
            break; 
         case 'C'..'D': 
            println("Mid Tier"); 
            break; 
         case 'E': 
            println("Low Tier"); 
            break;	
         default: 
            println("Invalid Band"); 
            break; 
      }
   }
}

Output

In the above example, in switch statement, we're using range of characters to get the relevant tier based on the band obtained.

Top Tier

Example - Use of Mixed Ranges in a Switch Statement

Following is an example of the switch statement on mixed cases −

Example.groovy

class Example { 
   static void main(String[] args) { 
      def input = 5

      switch (input) {
         case 1:
            println "One"
            break;      
         case 2..4:
            println "Between Two and Four"
            break;
         case [5, 6, 7]:
            println "Five, Six, or Seven"
            break;
         default:
            println "Invalid value"
       }
   }
}

Output

In the above example, in switch statement, we're using mixed cases to check provided value.

Five, Six, or Seven
groovy_ranges.htm
Advertisements