ဂျော့တို့ အချက်

switch 语句用于基于不同条件执行不同动作。

ဂျော့တို့ အချက်

အသုံးပြုပါ switch လိုအပ်တာ များစွာ အပေါ် အမည် တစ်ခု ကို လိုက်နာခြင်း အတွက် အကြောင်းပြချက်

စကားရပ်

switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        默认代码块
} 

代码解释:

  • 计算一次 switch 表达式
  • 把表达式的值与每个 case 的值进行对比
  • 如果存在匹配,则执行关联代码

အမှတ်အသား

getDay() 方法返回 0 至 6 之间的周名数字(weekday number)。

(Sunday=0, Monday=1, Tuesday=2 ..)

本例使用周名数字来计算周的名称:

switch (new Date().getDay()) {
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 

结果将是:


လက်ရှိမှာ ကျင်

break 关键词

如果 JavaScript 遇到 break 关键词,它会跳出 switch 代码块。

此举将停止代码块中更多代码的执行以及 case 测试。

如果找到匹配,并完成任务,则随机中断执行(break)。无需更多测试。

break 能够节省大量执行时间,因为它会“忽略” switch 代码块中的其他代码的执行。

不必中断 switch 代码块中的最后一个 case。代码块在此处会自然结束。

default 关键词

default 关键词规定不存在 case 匹配时所运行的代码:

အမှတ်အသား

getDay() ဘက်တက်သည် 0 မှ 6 အထိ ကုန်းစုနစ် ကုန်းစုနစ် ကို ပြန်ပေးသည်。

ယနေ့အားလုံး သြဂုတ် (6) နှင့် တနင်္ဂနွေ (0) ဟာ မဟုတ်ဘဲ ဖြစ်လာကြောင်း အစီအစဉ်များ ပြန်ပေးပါ:

switch (new Date().getDay()) {
    case 6:
        text = "ယနေ့အားလုံး သြဂုတ်တွင်";
        break; 
    case 0:
        text = "ယနေ့အားလုံး တနင်္ဂနွေတွင်";
        break; 
    default: 
        text = "ဆိုင်းပြီးနေ့မှာ မျှော်လင့်ပါ~";
} 

text အကြောင်းအရာသည်


လက်ရှိမှာ ကျင်

မည်သည့်အချက် case ဟာ switch ကုလားရုံးလုံး အနောက်ဆုံး case မဟုတ်ဘဲ ဖြစ်နိုင်ပါတယ်:

အမှတ်အသား

switch (new Date().getDay()) {
    default: 
        text = "ဆိုင်းပြီးနေ့မှာ မျှော်လင့်ပါ!";
         break;
    case 6:
        text = "ယနေ့အားလုံး သြဂုတ်တွင်";
        break; 
    case 0:
        text = "ယနေ့အားလုံး တနင်္ဂနွေတွင်";
} 

လက်ရှိမှာ ကျင်

အကြောင်းပြချက် default switch ကုလားရုံးလုံး အနောက်ဆုံး case မဟုတ်ဘဲ သတိပြု၍ break ကို အသုံးပြုပါ။

အသုံးပြုသည့် ကုလားရုံးလုံး

အခါတာပိုင်း မည်သည့် case ကို အသုံးပြု၍ အတူတူသော ကုလားရုံးလုံး ကို အသုံးပြုလို့ ပြီးဆင်းပါတယ်。

ဒီ အကျိုးမူးတွင်,case 4 နှင့် 5 ဟာ အတူတူသော ကုလားရုံးလုံး ကို အသုံးပြုကြပြီး 0 နှင့် 6 ဟာ အခြား ကုလားရုံးလုံး ကို အသုံးပြုကြပါတယ်:

အမှတ်အသား

switch (new Date().getDay()) {
    case 4:
    case 5:
        text = "ဆိုင်းပြီးနေ့မှာ အရောက်ရပါတယ်:(";
        break; 
    case 0:
    case 6:
        text = "ယနေ့အားလုံး ဆိုင်းပြီးနေ့မှာ~";
         break;
    default: 
        text = "ဆိုင်းပြီးနေ့မှာ မျှော်လင့်ပါ!";
} 

လက်ရှိမှာ ကျင်

Switching အချက်အလက်

如果多种 case 匹配一个 case 值,则选择第一个 case。

如果未找到匹配的 case,程序将继续使用默认 label。

如果未找到默认 label,程序将继续 switch 后的语句。

严格的比较

Switch case 使用严格比较(===)。

值必须与要匹配的类型相同。

只有操作数属于同一类型时,严格比较才能为 true。

在这个例子中,x 将不匹配:

အမှတ်အသား

var x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}

လက်ရှိမှာ ကျင်

အစုအဖွဲ့

ပိုမို အကြောင်း ဂျော့တို့ အချက်အကြောင်းကြားချက်

အမေရိကန် စကာတာ အုပ်ချုပ် အစိုင်အပ်
switch အစိုင်အပ် သည် if အစိုင်အပ် နှင့် အတူတူပါသည်။ ဤလုပ်သုံး ပုံပြန်တွင် switch အစိုင်အပ် အသုံးချက် နှင့် Java တွင် switch အစိုင်အပ် အသုံးချက် ကွဲပြားခြင်း ကို ဖော်ပြထားပါသည်။