logo

Java Switch Statement

Java изявление за превключване изпълнява един оператор от множество условия. То е като ако-иначе-ако изявление за стълба. Операторът switch работи с типове byte, short, int, long, enum, String и някои типове обвивки като Byte, Short, Int и Long. От Java 7 можете да използвате струни в командата switch.

С други думи операторът switch тества равенството на променлива спрямо множество стойности.

Точки за запомняне

  • Може да има един или N брой случайни стойности за израз на превключване.
  • Стойността на case трябва да бъде само от тип израз на switch. Регистърът трябва да бъде буквален или константен . Не позволява променливи .
  • Регистърът трябва да бъде единствен по рода си . В случай на дублирана стойност, той изобразява грешка по време на компилиране.
  • Изразът за превключване на Java трябва да бъде от byte, short, int, long (с неговия тип Wrapper), изброявания и низ .
  • Всеки случай може да има a изявление за прекъсване което не е задължително. Когато контролът достигне до изявление за прекъсване , той прескача контролата след израза за превключване. Ако оператор за прекъсване не бъде намерен, той изпълнява следващия случай.
  • Стойността на регистъра може да има a етикет по подразбиране което не е задължително.

Синтаксис:

 switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be executed; break; //optional ...... default: code to be executed if all cases are not matched; } 

Блок-схема на оператора Switch

in.next java
поток от команда за превключване в java

Пример:

SwitchExample.java

 public class SwitchExample { public static void main(String[] args) { //Declaring a variable for switch expression int number=20; //Switch expression switch(number){ //Case statements case 10: System.out.println('10'); break; case 20: System.out.println('20'); break; case 30: System.out.println('30'); break; //Default case statement default:System.out.println('Not in 10, 20 or 30'); } } } 
Тествайте сега

Изход:

 20 

Пример за намиране на месец:

SwitchMonthExample.javaHTML

 //Java Program to demonstrate the example of Switch statement //where we are printing month name for the given number public class SwitchMonthExample { public static void main(String[] args) { //Specifying month number int month=7; String monthString=''; //Switch statement switch(month){ //case statements within the switch block case 1: monthString='1 - January'; break; case 2: monthString='2 - February'; break; case 3: monthString='3 - March'; break; case 4: monthString='4 - April'; break; case 5: monthString='5 - May'; break; case 6: monthString='6 - June'; break; case 7: monthString='7 - July'; break; case 8: monthString='8 - August'; break; case 9: monthString='9 - September'; break; case 10: monthString='10 - October'; break; case 11: monthString='11 - November'; break; case 12: monthString='12 - December'; break; default:System.out.println('Invalid Month!'); } //Printing month of the given number System.out.println(monthString); } } 
Тествайте сега

Изход:

 7 - July 

Програма за проверка на гласна или съгласна:

Ако знакът е A, E, I, O или U, той е гласна, в противен случай съгласна. Не е чувствителен към главни и малки букви.

изчисляване на мандата в excel

SwitchVowelExample.java

 public class SwitchVowelExample { public static void main(String[] args) { char ch='O'; switch(ch) { case 'a': System.out.println('Vowel'); break; case 'e': System.out.println('Vowel'); break; case 'i': System.out.println('Vowel'); break; case 'o': System.out.println('Vowel'); break; case 'u': System.out.println('Vowel'); break; case 'A': System.out.println('Vowel'); break; case 'E': System.out.println('Vowel'); break; case 'I': System.out.println('Vowel'); break; case 'O': System.out.println('Vowel'); break; case 'U': System.out.println('Vowel'); break; default: System.out.println('Consonant'); } } } 

Изход:

машинопис за всеки
 Vowel 

Изявлението за превключване на Java е преходно

Инструкцията за превключване на Java е преходна. Това означава, че изпълнява всички оператори след първото съвпадение, ако липсва оператор за прекъсване.

Пример:

SwitchExample2.java

 //Java Switch Example where we are omitting the //break statement public class SwitchExample2 { public static void main(String[] args) { int number=20; //switch expression with int value switch(number){ //switch cases without break statements case 10: System.out.println('10'); case 20: System.out.println('20'); case 30: System.out.println('30'); default:System.out.println('Not in 10, 20 or 30'); } } } 
Тествайте сега

Изход:

 20 30 Not in 10, 20 or 30 

Java Switch Statement с низ

Java ни позволява да използваме низове в израз за превключване от Java SE 7 насам. Операторът case трябва да бъде низов литерал.

Пример:

SwitchStringExample.java

преобразуване на java низ в цяло число
 //Java Program to demonstrate the use of Java Switch //statement with String public class SwitchStringExample { public static void main(String[] args) { //Declaring String variable String levelString='Expert'; int level=0; //Using String in Switch expression switch(levelString){ //Using String Literal in Switch case case 'Beginner': level=1; break; case 'Intermediate': level=2; break; case 'Expert': level=3; break; default: level=0; break; } System.out.println('Your Level is: '+level); } } 
Тествайте сега

Изход:

 Your Level is: 3 

Изявление за вложен превключвател на Java

Можем да използваме оператор switch в друг оператор switch в Java. Той е известен като вложен оператор за превключване.

Пример:

NestedSwitchExample.java

 //Java Program to demonstrate the use of Java Nested Switch public class NestedSwitchExample { public static void main(String args[]) { //C - CSE, E - ECE, M - Mechanical char branch = 'C'; int collegeYear = 4; switch( collegeYear ) { case 1: System.out.println('English, Maths, Science'); break; case 2: switch( branch ) { case 'C': System.out.println('Operating System, Java, Data Structure'); break; case 'E': System.out.println('Micro processors, Logic switching theory'); break; case 'M': System.out.println('Drawing, Manufacturing Machines'); break; } break; case 3: switch( branch ) { case 'C': System.out.println('Computer Organization, MultiMedia'); break; case 'E': System.out.println('Fundamentals of Logic Design, Microelectronics'); break; case 'M': System.out.println('Internal Combustion Engines, Mechanical Vibration'); break; } break; case 4: switch( branch ) { case 'C': System.out.println('Data Communication and Networks, MultiMedia'); break; case 'E': System.out.println('Embedded System, Image Processing'); break; case 'M': System.out.println('Production Technology, Thermal Engineering'); break; } break; } } } 
Тествайте сега

Изход:

хвърляне на изключение java
 Data Communication and Networks, MultiMedia 

Java Enum в оператор Switch

Java ни позволява да използваме enum в командата switch. Java enum е клас, който представлява групата от константи. (неизменни като крайни променливи). Използваме ключовата дума enum и поставяме константите във фигурни скоби, разделени със запетая.

Пример:

JavaSwitchEnumExample.java

 //Java Program to demonstrate the use of Enum //in switch statement public class JavaSwitchEnumExample { public enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat } public static void main(String args[]) { Day[] DayNow = Day.values(); for (Day Now : DayNow) { switch (Now) { case Sun: System.out.println('Sunday'); break; case Mon: System.out.println('Monday'); break; case Tue: System.out.println('Tuesday'); break; case Wed: System.out.println('Wednesday'); break; case Thu: System.out.println('Thursday'); break; case Fri: System.out.println('Friday'); break; case Sat: System.out.println('Saturday'); break; } } } } 
Тествайте сега

Изход:

 Sunday Monday Twesday Wednesday Thursday Friday Saturday 

Java Wrapper в Switch Statement

Java ни позволява да използваме четири обвиващи класове : Byte, Short, Integer и Long в оператора switch.

Пример:

WrapperInSwitchCaseExample.java

 //Java Program to demonstrate the use of Wrapper class //in switch statement public class WrapperInSwitchCaseExample { public static void main(String args[]) { Integer age = 18; switch (age) { case (16): System.out.println('You are under 18.'); break; case (18): System.out.println('You are eligible for vote.'); break; case (65): System.out.println('You are senior citizen.'); break; default: System.out.println('Please give the valid age.'); break; } } } 
Тествайте сега

Изход:

 You are eligible for vote.