Java 12 တွင် Switch ပြောင်းလဲမှု (JEP:325)

 Java 12

      Switch statement  က   Java 12  ကနေ စတင်ပြောင်းလဲ လာတယ် လို့ ပြောလို့ရပါတယ်။ကျွန်တော်တို့  Java 12 မတိုင် ခင်က   traditional  ရေးသားနည်းလေးနဲ့ အစပြုလိုက်ကြရအောင်။

switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
System.out.println(6);
break;
case TUESDAY:
System.out.println(7);
break;
case THURSDAY:
case SATURDAY:
System.out.println(8);
break;
case WEDNESDAY:
System.out.println(9);
break;
}

     အထက်ပါ ရေးသားမှု အရဆိုလျှင်  day  သည်  MONDAY  ဖြစ်လျှင်  6  အဖြေရမှာပါ။ အကယ်၍  break  စကားလုံးသာ မပါဘူးလို့ရစပါက အဖြမှန် နေရာက စပြီး ကျန် စာကြောင်းများ အားလုံး ထွက်နေမှာပါ။အောက်ပါ  code   ကို နမူနာကြည့်ပါ။


switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
System.out.println(6);
case TUESDAY:
System.out.println(7);
case THURSDAY:
case SATURDAY:
System.out.println(8);
break;
case WEDNESDAY:
System.out.println(9);
break;
}


အထက်ပါ ရေးသားမှု အရဆိုလျှင်  day  သည်  MONDAY  ဖြစ်လျှင်  အဖြေသည် 

6

7

8

ကဲ့သို့ ထွက်လာမှာပါ။  break  ဆိုတဲ့  keyword  ကို မတွေ့မချင်း အလုပ်လုပ်နေမှာပါ။ 

Java V12 မှာ  switch ရေးသားပုံက စတင်ပြီးပြောင်းလဲလာပါတယ်။ ရေးသားမှု ပုံစံကို အောက်ပါအတိုင်း မှတ်ယူထားနိုင်ပါတယ်။

"case L ->"

traditional ရေးသားမှု ပုံစံ ဖြစ်တဲ့  :  နဲ့ မဟုတ်တော့ဘဲ -> ဖြစ်သွားပါတယ်။ အထက်ပါ နမူနာ  code  ကို ပြန်လည် ရေးသားပါက အောက်ပါအတိုင်းပြောင်းလဲ သွားပါမယ်။

switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
    case TUESDAY                -> System.out.println(7);
    case THURSDAY, SATURDAY     -> System.out.println(8);
    case WEDNESDAY              -> System.out.println(9);
}

အင်မတန်မှ ဘဲ  code  ရေးသားရာမှာလည်း ရှင်းလင်းသွားပြီး  code  အကြောင်းအရေအတွက်လည်း နည်းသွားပါတယ်။   Letter တစ်ခု နဲ့ တစ်ခု အကြား  ,  တွေ ခံပြီးရေးလို့ ရပါတယ်။ -> ကို သုံးပါတယ်။ break  keyword က အထူးတစ်လည် သုံးစရာမလိုအပ်တော့ပါဘူး။

traditional ပုံစံနဲ့ ရေးသားထားလျှင် case တစ်ခုမှာ ပါတဲ့ local variable ကို အခြားcase တစ်ခု နေမသိနိုင်ပါဘူး။ ထို့ကြောင့် case အားလုံးက သိလိုလျှင် instance variable ကြောငြာလျှင် သိသွားနိုင်ပါတယ်။ သို့သော် ထို switch ရဲ့ အရှေ့မှာ instance variable ရေးလို့မရခဲ့ပါဘူး။ဥပမာ အောက်ပါ ကိုကြည့်ပါ။

int numLetters = switch (day) {
    case MONDAY:
    case FRIDAY:
    case SUNDAY:
        numLetters = 6;
        break;
    case TUESDAY:
        numLetters = 7;
        break;
    case THURSDAY:
    case SATURDAY:
        numLetters = 8;
        break;
    case WEDNESDAY:
        numLetters = 9;
        break;
    default:
        throw new IllegalStateException("Wat: " + day);
}

Java 12 မတိုင်ခင်က အထက်ပါကဲ့သို့ ရေးလို့မရခဲ့ပါဘူး။Java 12 နောက်ပိုင်းမှာ ရေးသားပုံ ပြောင်းလဲ လာတာနဲ့အတူ switch အရှေ့မှာ variable ကြောငြာပြီး ရေးသားလို့ရလာပါတယ်။အောက်ပါအတိုင်းပြောင်းလဲလာပါတယ်။

int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY                -> 7;
    case THURSDAY, SATURDAY     -> 8;
    case WEDNESDAY              -> 9;
};

အထက်ပါရေးသားပုံအရ -> ရဲ့ ညာဘက် ၌ ရှိသော တန်ဖိုး က return value ဖြစ်သွားပြီး numLetters ၏ တန်ဖိုး ဖြစ်သွားပါတယ်။  -> numberletters = 6;ကဲ့သို့ ရေးသားစရာမလိုပါ။


Switch expression and statements အကြောင်းသိကောင်းစရာ

Java13 တွင်  Switch ပြောင်းလဲမှု လေ့လာရန် === >   java-13-switch-jep-354

#khan

#learnprogrammingbykhan


















Comments