Aung Khant Kyaw
GitHubLinkedIn
  • Welcome
  • Projects
  • Achievements & Certificates
  • Blogs
    • Difference between while and do while loop
Powered by GitBook
On this page
  1. Blogs

Difference between while and do while loop

Coding ရေးကြတဲ့အခါ သင့်တော်တဲ့ နည်းစနစ်ကို အသုံးပြုကြရပါတယ်။ အဖြေတစ်ခုရဖို့ အဆင်အပြေဆုံး နည်းလမ်းကို ရှာဖွေကြတာပေါ့။ ဒီ blog မှာတော့ do while နဲ့ while loop နှစ်မျိုးအကြောင်း ပြောသွားမှာပါ။

ဒီ program က o နဲ့ . ကို တစ်လှည့်စီ ထုတ်ပြမှာပါ။ ဘယ်နှစ်ကြိမ်ထုတ်ပြမှာလဲဆိုတာကို num ဆိုတဲ့ variable နဲ့ သတ်မှတ်ပေးလိုက်ပါတယ်။ တကယ်လို့ num က 0 (Zero) ဒါမှမဟုတ် 0 (Zero) အောက်ငယ်မယ်ဆိုရင် ဘာမှထုတ်မပြဘူးလို့ ဆုံးဖြတ်ထားပါတယ်။ ဆိုတော့ ဘယ်နည်းကိုသုံးပြီး loop ပတ်မလဲဆိုတာ စဉ်းစားကြပါမယ်။

Do While Loop

Java
public static void printDots(int num) { 
  int cnt = 0; 
  String dotColor = "DC1"; 
  
  do { 
    if (dotColor.equals("DC1")) {  
      System.out.print("o");  
      dotColor = "DC2";  
    } else {  
      System.out.print(".");  
      dotColor = "DC1"; 
    }  
    cnt++;  
  } while (cnt < num);  
  
  System.out.println(); 
} 
   
public static void main(String[] args) { 
  printDots(0);  // output : o 
  printDots(5);  // output : o.o.o 
} 

Do While Loop ကတော့ စစချင်းမှာ condition ကို မစစ်ပဲ တစ်ကြိမ်တော့ run ပါတယ်။ ဒါကြောင့် ပထမဆုံး printDots function ကို ခေါ်လိုက်တဲ့အချိန်မှာ 0 ပေးလိုက်ပေမယ့် သူက condition ကို အရင်မစစ်လို့ တစ်ကြိမ် run ပြီး o ကို ထုတ်ပြပါတယ်။ ထုတ်ပြပြီးမှ cnt ကို တစ်တိုးပြီး cnt က num အောက်ငယ်လားစစ်ပါတယ်။ cnt က 1 ဖြစ်ပြီး num က 0 ဖြစ်နေတဲ့အတွက် loop ကို အဆုံးသတ်လိုက်ပါတယ်။

နောက်တစ်ခါ printDots function ကို ခေါ်လိုက်တဲ့အချိန်မှာ 5 ပေးလိုက်ပါတယ်။ ဒီတစ်ခါမှာတော့ သူက တစ်ခါ run ပြီးတဲ့အချိန်မှာ cnt ကို တစ်ပေါင်းပြီး num အောက်ငယ်မငယ် စစ်ပြီး ငယ်တဲ့အတွက် နောက်တစ်ခါ ထပ်ပတ်ပါတယ်။ ဒီလိုနဲ့ နောက်ဆုံးမှာ cnt က 5 နဲ့ ညီသွားတဲ့အတွက် loop ပတ်တာကိုရပ်လိုက်ပါတယ်။

While Loop

Java
public static void printDots(int num) { 
  int cnt = 0; 
  String dotColor = "DC1"; 
  
  while (cnt < num) {    
    if (dotColor.equals("DC1")) {    
      System.out.print("o");  
      dotColor = "DC2";  
    } else {  
      System.out.print(".");  
      dotColor = "DC1"; 
    }  
    cnt++;  
  }
    System.out.println(); 
} 
   
public static void main(String[] args) { 
  printDots(0);  // output :  
  printDots(5);  // output : o.o.o 
} 

While Loop ကတော့ စစချင်းမှာ condition ကို စစ်ပါတယ်။ ဒါကြောင့် ပထမဆုံး printDots function ကို ခေါ်လိုက်တဲ့အချိန်မှာ 0 ပေးလိုက်လို့ ဘာကိုမှ ထုတ်ပြမှာ မဟုတ်တော့ပါဘူး။ cnt က 0 ဖြစ်ပြီး num က 0 ဖြစ်နေတဲ့အတွက် loop ကို အဆုံးသတ်လိုက်ပါတယ်။

နောက်တစ်ခါ printDots function ကို ခေါ်လိုက်တဲ့အချိန်မှာ 5 ပေးလိုက်ပါတယ်။ cnt က 0 ဖြစ်ပြီး num က 5 ဖြစ်နေတဲ့အတွက် loop ကို စပတ်ပါတယ် တစ်ခါပတ်ပြီးတိုင်း cnt ကို တစ်တိုးပါတယ်။ ဒီလိုနဲ့ နောက်ဆုံးမှာ cnt က 5 နဲ့ ညီသွားတဲ့အတွက် loop ပတ်တာကိုရပ်လိုက်ပါတယ်။

ဒါကြောင့် ဒီ program မှာ ကျွန်တော်တို့က while ကို သုံးပြီး loop ပတ်ရမှာဖြစ်ပါတယ်။ ဒါမှသာ num 0 ဖြစ်နေတဲ့အချိန်မှာ output ထုတ်မပြမှာဖြစ်ပါတယ်။

ဒီလောက်ဆိုရင် while နဲ့ do while ရဲ့ အသုံးကွဲပြားပုံကို မြင်ကြမယ်လို့ထင်ပါတယ်။

PreviousAchievements & Certificates

Last updated 1 month ago