Variables in Flutter

Flutter - Dart မိတ်ဆက် အပိုင်း(၁)

ကွန်ပျူတာ ပရိုဂရမ်းမင်းရဲ့ အယူအဆ Concept တွေကို စလေ့လာမယ်။

ပထမဆုံး ပရိုဂရမ် တစ်ပုဒ် စရေးကြမယ်။ ကျွန်တော်တို့က Flutter နဲ့ မိုဘိုင်းအက်ပ် တွေရေးကြမှာ။ Flutter က Computer Programming Lanuage တစ်ခုဖြစ်တဲ့ Dart ကို အသုံးပြုပါတယ်။

ဒီတော့ Dart နဲ့ ပရိုဂရမ်တစ်ပုဒ် စရေးလိုက်ကြရအောင်။ Brower မှာ https://dartpad.dev/ လို့ ရိုက်ထည့်ပါ။ ပြီးရင် ဒီ(၃) ကြောင်းရေးပါမယ်။

void main(){
    print("Hello World");  
}

run ကို နှိပ်ကြည့်ရင် Hello World လို့ ပေါ်လာတာကို တွေ့ရပါလိမ့်မယ််။ ဂုဏ်ယူပါတယ် ပထမဆုံး ကွန်ပျူတာ ပရိုဂရမ်တစ်ပုဒ် ရေးပြီးသွားပါပြီ။

ရေးထားတဲ့ ကုတ်ကို ပြန်ကြည့်ကြရအောင်။

ကွန်ပျူတာ ပရိုဂရမ်တိုင်းမှာ စပြီး run တဲ့ စမှတ်တစ်ခုရှိပါတယ်။ Dart မှာတော့ main function ပေါ့။ မရင်းနှီးသေးတဲ့ အသုံးအနှုန်းတွေ ကြားရတဲ့အခါ စိတ်ပျက်မသွားပါနဲ့ အချိန်တန်ရင် သိလာ နားလည်လာပါလိမ့်မယ်။ အခု Function ဆိုရင် ဘာကြီးလဲလို့ ဖြစ်ကောင်းဖြစ်နေပါလိမ့်မယ်။ နောက်ပိုင်းမှာ ဆက်ရှင်းပြပါမယ်။

လောလောဆယ် Dart နဲ့ ပရိုဂရမ်ရေးတဲ့အခါ main function က စရေးရတယ်လို့ မှတ်ထားရင် ရပါပြီ။

void main(){

}

Main Function ရဲ့ အပြည့်အစုံက ဒီလိုမျိုးပါ။

void ပါမယ် ပြီးရင် main လို့ရေး။ ကွင်းစ ကွင်းပိတ် နဲ့ ပြီးရင် တွန့်ကွင်း အစ တွန့်ကွင်း အပိတ်။ ဒါဆိုရင် main function တစ်ခုရဲ့ အင်္ဂါရပ် ပြည့်စုံပါပြီ။

အခု ကျွန်တော်တို့က ကွန်ပျူတာ ဖန်သားပြင်ပေါ်မှာ Hello World လို့ စာတမ်းပေါ်စေချင်တော့

print(“Hello World”);

လို့ ရေးလိုက်တယ်။ မင်္ဂလာပါ လို့ ပေါ်စေချင်ရင်

print(“မင်္ဂလာပါ”);

လို့ ရေးရမယ်။ စာပေါ်စေချင်တာ ဖြစ်တဲ့အတွက် ပေါ်ချင်တဲ့ စာကို မျက်တောင်အဖွင့် အပိတ်နဲ့ (double quote ) နှစ်ခုကြားထဲမှာ ထည့်ရေးရတယ်။ ဒီလို ကွန်ပျူတာကို ဘာလုပ်ပါလို့ ပြောတဲ့ စာကြောင်းတွေကို programming statement လို့ ခေါ်ကြတယ်။ Dart မှာတော့ ဒါမျိုး Statement တစ်ကြောင်းပြီးတိုင်း ဆီမီးကော်လံ ; နဲ့ အဆုံးသတ်ပေးရတယ်။ လောလောဆယ် ကျွန်တော်တို့ main function ထဲမှာ programming statement တစ်ကြောင်းပဲ​ရှိတယ်။

void main(){
    print("Hello World");  
}

ဒါမျိုး။ ဒီပရိုဂရမ်ကို run ကြည့်မယ် ဆိုရင် main function ထဲက တစ်ကြောင်းတည်းသော statement ဖြစ်တဲ့ print(“Hello World”); ကို ကွန်ပျူတာက ကြည့်ပြီး ကွန်ပျူတာပေါ်မှာ Hello World လို့ ဖော်ပြပေးလိမ့်မယ်။ တကယ်လို့ ပရိုဂရမ်မှာ ဒါမျိုးရေးထားမယ်ဆိုရင်

void main(){
    print("Hello World");  
    print("မင်္ဂလာပါ");
}

ကွန်ပျူတာပေါ်မှာ Hello World မင်္ဂလာပါ လို့ ပေါ်လာလိမ့်မယ်။ တကယ်လို့ ဂဏန်းတွေ ပေါ်စချင်တယ်ဆိုရင်တော့ Double Quote (“) သုံးစရာမလိုဘူး။

void main(){
    print("Hello World");  
    print("မင်္ဂလာပါ");
    print(2023);
}

ဒါဆိုရင် Hello World မင်္ဂလာပါ 2023

လို့ တွေ့ရလိမ့်မယ်။

အခုမြင်ရတဲ့အတိုင်းပဲ​ ကွန်ပျူတာ ပရိုဂရမ်တွေက Line by Line သွားတယ်။ Line no 1 ကို run ပြီးရင် Line no 2 ကို ဆက် run တာမျိုး။ အဲ့ကနေမှ ပရိုဂရမ် မဆုံးမချင်း Line no 3, 4, 5 စသည်ဖြင့် ဆက် run မှာ။


Variable

Variable ဆိုတာကတော့ Container တစ်ခုပါပဲ။ အပြင်လောကမှာဆိုရင်တော့ ဂျပ်ဖာပုံးလိုမျိုး တင်စားပြီးသုံးလို့ရမယ်ထင်ပါတယ်။

အပြင်လောကမှာတော့ ဂျပ်ဖာပုံးထဲကို ပစ္စည်းတွေထည့်သိမ်းတယ်။ နောက် Label ကပ်ထားတယ်။ ကွန်ပျူတာ ပရိုဂရမ်းမင်းမှာလည်း variable ဆိုတာ data (အချက်အလက်)​ တွေသိမ်းတဲ့ container ( ဂျပ်ဖာ ) ပုံး သဘောတရားမျိုး ရှိတယ်။

ဉပမာ ကိုယ့်ရဲ့ စာမေးပွဲ ရမှတ်တွေကို ကွန်ပျူတာ ပရိုဂရမ်မှာ မှတ်ထားမယ်ဆို ဒါမျိုး ဖြစ်မယ်။

void main(){
    int myanmar = 50;
    int english = 67;
    int math = 70;
}

Varaible တစ်ခုမှာ အပိုင်း (၃)​ပိုင်း ခွဲပြီး နားလည်လို့ရတယ်။

int myanmar = 50;

ရှေ့က int ဆိုတာ ဒီ Variable မှာ သိမ်းမယ့် အချက်အလက် (​data ) ရဲ့ အမျိုးအစား (data type) ကို သတ်မှတ်တာ။ ပရိုဂရမ်းမင်းမှာ အသုံးများတဲ့ Data Type တွေက

ကိန်းပြည့် - int ဒဿမကိန်း - double စာကြောင်း - String

အခု case မှာ စာမေးပွဲ ရမှတ်တွေက ကိန်းပြည့်တွေပဲ ရတယ်လို့ သဘောထားပြီး data type ကို int လို့ ကြေညာလိုက်တယ်။

နောက် တစ်ပိုင်းက variable name ဒီမှာတော့ myanmar ပေါ့။ ဒါက ဂျပ်ဖာပုံးကို label ကပ်တာနဲ့ တူတယ်။ ဒီပုံးထဲမှာ ဘာရှိတယ်ဆိုတာကို ပုံးပေါ်မှာ ရေးပေးထားတာမျိုး။

= (equal to) ကိုတော့ ဒီမှာ assignment လို့ ခေါ်တယ်။ သင်္ချာမှာ သုံးတဲ့ ညီမျှခြင်းလိုမျိုး ညီတာကို ပြောချင်တာ မဟုတ်ပဲ ဂျပ်ဖာပုံးထဲကို ပစ္စည်းထည့်တာမျိုးကို ဆိုလိုတာ ဒီ မှာတော့ myanmar ဆိုတဲ့ ဂျပ်ဖာပုံးထဲကို 50 ဆိုတဲ့ ပစ္စည်း ထည့်ထားလိုက်တယ်လို့ ဆိုရမယ်။

50 ကို variable value လို့ ခေါ်တယ်။

ဒီတော့

int myanmar = 50;

ဆိုတာကို ပြန်ပြီး ခွဲခြမ်းစိတ်ဖြာကြည့်မယ်ဆိုရင်

int -> data type
myanmar -> variable name
= -> assignment operator
50 -> varialble value

ဒါဆိုရင် ကွန်ပျူတာရဲ့ မှတ်ဉာဏ် (memory) ထဲမှာ မြန်မာစာရမှတ်ကို သိမ်းထားပြီး ဖြစ်ပြီ။ ထိုနည်းလည်းကောင်း အင်းဂလိပ်စာ နဲ့ သင်္ချာ ရမှတ်တွေကိုလည်း variable တွေ ကြေညာပြီး သိမ်းထားလိုက်ပြီ

ပြန်ထုတ်ကြည့်ဖို့အတွက်

void main(){
    int myanmar = 50;
    int english = 67;
    int math = 70;

    print(myanmar);
    print(english);
    print(math);
}

print function သုံးပြီး ကွန်ပျူတာ စကရင်မှာ အချက်အလက်တစ်ခု ပြဖို့လုပ်တယ်။ သူပြချင်တဲ့ အချက်အလက်က variable myanmar ထဲမှာ သိမ်းထားတဲ့ တန်ဖိုး (value ) variable myanmar ထဲမှာ သိမ်းထားတဲ့ တန်ဖိုးက ကိန်းပြည့် 50 ဒီတော့ ကွန်ပျူတာ ပေါ်မှာ 50 လို့ ပေါ်လာမယ်။

ဒီနည်းနဲ့ variable ထဲကို data ထည့်တာတွေ ထည့်ထားတဲ့ data ကို ပြန်ထုတ်ကြည့်တာတွေ လုပ်လို့ရမယ်။

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

စုစုပေါင် းစာမေးပွဲ ရမှတ်ကို သိချင်ရင်

int totalMarks = myanmar + english + math;
print(totalMarks);

double avgMarks = totalMarks / 3;
print(avgMarks);


  • opeator သုံးပြီး variable သုံးခုကို ပေါင်းတယ်။ ရလာတဲ့ ရလဒ်ကို - assignment operator သုံးပြီး totalMarks ဆိုတဲ့ variable ထဲကို ထည့်တယ်။

average လည်း ထိုးနည်းလည်းကောင်း။

ဒီတော့ ပရိုဂရမ်က ဒီလို ရှိသွားမယ်။

void main(){
    int myanmar = 50;
    int english = 67;
    int math = 70;
    int totalMarks = myanmar + english + math;
    double avgMarks = totalMarks / 3;

    print(myanmar);
    print(english);
    print(math);
    print(totalMarks);
    print(avgMarks);

}

ပိုပြီးတော့ ရိုးရိုးရှင်းရှင်း ပြစေချင်ရင်

void main(){
    int myanmar = 50;
    int english = 67;
    int math = 70;
    int totalMarks = myanmar + english + math;
    double avgMarks = totalMarks / 3;

    print("Myanmar Mark : $myanmar");
    print("English Mark : $english");
    print("Math Mark : $math");
    print("Total Mark : $totalMarks");
    print("Avg Mark : $avgMarks");

}

varialbe တွေကို “ double quote ထဲမှာ ဖော်ပြချင်တဲ့အခါ $ သုံးရပါတယ်။

နောက်တစ်ပိုင်းမှာတော့ အခု ဆွေးနွေးခဲ့တဲ့ Variable တွေကို မိုဘိုင်းအက်ပ် တစ်ခုမှာ ဘယ်လို သုံးကြလဲဆိုတဲ့အပိုင်းကို ဆက်လက် ဆွေးနွေးသွားပါမယ်။

Written on October 14, 2023