جافا بيان التبديل ينفذ عبارة واحدة من شروط متعددة. إنه يشبه إذا-إلا-إذا بيان السلم . يعمل بيان التبديل مع أنواع البايت، القصيرة، int، الطويلة، التعداد، السلسلة وبعض أنواع المجمعات مثل Byte، Short، Int، وLong. منذ Java 7، يمكنك استخدام سلاسل في بيان التبديل
بمعنى آخر، تختبر عبارة التبديل مساواة المتغير مقابل قيم متعددة.
نقطة لنتذكر
- يمكن أن يكون هناك عدد واحد أو N من قيم الحالة للتعبير التبديل.
- يجب أن تكون قيمة الحالة من نوع تعبير التبديل فقط. يجب أن تكون قيمة الحالة حرفية أو ثابتة . لا يسمح المتغيرات .
- يجب أن تكون قيم الحالة فريد . في حالة القيمة المكررة، فإنه يعرض خطأ وقت الترجمة.
- يجب أن يكون تعبير تبديل Java بايت، قصير، int، طويل (مع نوع الغلاف الخاص به)، التعدادات وسلسلة .
- يمكن أن يحتوي كل بيان حالة على بيان كسر وهو اختياري. عندما تصل السيطرة إلى بيان كسر ، فإنه يقفز عنصر التحكم بعد تعبير التبديل. إذا لم يتم العثور على عبارة Break، فسيتم تنفيذ الحالة التالية.
- يمكن أن تحتوي قيمة الحالة على التسمية الافتراضية وهو اختياري.
بناء الجملة:
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; }
مخطط انسيابي لبيان التبديل
منطقية لسلسلة جافا
مثال:
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، فإنه يكون حرفًا ساكنًا. وهي ليست حساسة لحالة الأحرف.
استخدامات نظام التشغيل
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 باستخدام السلاسل في تعبيرات التبديل منذ Java SE 7. يجب أن يكون بيان الحالة عبارة عن سلسلة حرفية.
مثال:
SwitchStringExample.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. ومن المعروف باسم بيان التبديل المتداخل.
مثال:
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; } } }اختبره الآن
انتاج:
مساعد مفوض الشرطة
Data Communication and Networks, MultiMedia
Java Enum في بيان التبديل
تتيح لنا Java استخدام التعداد في بيان التبديل. 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 باستخدام أربعة فئات المجمع : بايت، قصير، عدد صحيح وطويل في بيان التبديل.
مثال:
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.