[သင္ခန္းစာ – ၇ ] – ေရးခဲ့တဲ့programေတြကိုသပ္သပ္ရပ္ရပ္ေရးၾကမယ္။
ဒီသင္ခန္းစာမွာေတာ့အရင္သင္ခန္းစာေတြမွာေရးခဲ့တဲ့programေတြကိုသပ္သပ္ရပ္ရပ္ျဖစ္ေအာင္ျပန္ေရး
ၾကရမွာပါ။
မွတ္ခ်က္။ ။ ျပီးခဲ့တဲ့သင္ခန္းစာေတြမွာအခက္အခဲေတြရွိခဲ့ မယ္ထင္ပါတယ္။
ကဲ အရင္သင္ခန္းစာcoding output ကိုျပန္ေလ့လာၾကည့္ရေအာင္။
Digitတစ္လံုးခ်င္းစီကိုလိုင္းတစ္လိုင္းမွာoutputျပေနတာကိုေတြ ့မွာပါ။ဒီoutputကိုၾကည့္ယံုနဲ့ဒီprogramဟာ
ဘာကိုအလုပ္လုပ္တယ္ဆိုတာေသခ်ာနားမလည္နိုင္ပါဘူး။ဒါဆိုresultကိုပိုနားလည္သြားေအာင္
လုပ္ၾကည့္ရေအာင္။
ဒီေအာက္မွာရွိတဲ့outputကိုၾကည့္ျပီးကိုယ့္ကိုယ္တုိုင္programကိုျပင္ေရးၾကည့္ပါ။ျပီးခဲ့တဲ့သင္ခန္းစာမွာ
ရွိတဲ့ example 1နဲ ့2 နွစ္ခုစလုံးကိုျပင္ေရးၾကည့္ပါ။
ဒီတစ္ေခါက္ေရးရတဲ့programကနည္းနည္းခက္ေကာင္းခက္ပါလိမ့္မယ္။အဲဒါေၾကာင့္စဥ္းစားရလြယ္ေအာင္လို႕
example programတစ္ပုဒ္ေရးျပပါမယ္။
File Name:HelloWorld.java
public class HelloWorld
{
public static void main(String [] args)
{
System.out.println(“Hello ” + “Java World !”);
}
}
Output ကိုေအာက္မွာရွိတဲ့အတိုင္းေတြ ့ရမွာပါ။
ဒီprogramကိုၾကည့္ျပီးစဥ္းစားသဲလြန္စ ရေလာက္ျပီလို႕ထင္ပါတယ္။
programကိုကိုယ့္ဟာကိုျပင္ေရးလို ့အဆင္ေျပၾကပါသလား။
ကဲဒါဆိုအရင္ဆံုးေအာက္ေဖာ္ျပပါcoding ထဲမွာသဲလြန္စကိုရွာၾကည့္ရေအာင္။
System.out.println(“Hello ” + “Java World !”);
အေပၚကcoding ကိုေရးလိုက္လိုက္တဲ့အခါ
ဒီcommand prompt မွာျမင္ရတဲ့အတိုင္းoutputထြက္လာပါတယ္။
“Hello”နဲ့“JavaWorld!”ဆိုတဲ့စာေၾကာင့္နွစ္ေၾကာင္းကိ”ု+”signခံျပီးေတာ့printlnရဲ့ကြင္းစကြင္းပိတ္ထဲ
မွာေရးထားတဲ့အတြက္ေၾကာင့္အေပၚမွာျမင္ရတဲ့အတိုင္းေတြ့ရတာပါ။“Hello”နဲ့”JavaWorld!”ကေတာ့
ဥပမာအေနနဲ႕ေရးျပထားတာပါ။ဒါဆိုအေပၚမွာရွိတဲ့ပုစာၦအတြက္ဆုိရင္အဲဒီစာေၾကာင္းနွစ္ခုေနရာမွာ
variableကိုအစားသြင္းရမယ္ဆိုတာစဥ္းစားမိေလာက္ေရာေပါ့။
ဒါဆိုexample ရဲ ့အေျဖကိုၾကည့္ၾကည့္ရေအာင္
အရင္ဆံုးသိခဲ့တဲ့သင္ခန္းစာကexample 2 ကိုအရွင္းဆံုးပံုစံနဲ ့ေရးၾကည့္ရေအာင္။
(၁) ျပင္ေရးထားတဲ့example 2 ရဲ့အေျဖ
public class Calculate
{
public static void main(String [] args)
{int addResult; // variable to store the result of addition
int subResult; // variable to store the result of subtraction
int multResult; // variable to store the result of multiplication
int divResult; // variable to store the result of divisionaddResult = 6 + 3;
subResult = 6 – 3;
multResult = 6 * 3;
divResult = 6 / 3;System.out.println(“6 + 3 = ” + addResult);
System.out.println(“6 – 3 = ” + subResult);
System.out.println(“6 * 3 = ” + multResult);
System.out.println(“6 / 3 = ” + divResult);
}
}
အဆင္ေျပမယ္လို ့ထင္ပါတယ္။
ဒီလိုပံုစံမ်ိဳးေရးျပီးေတာ့စာေၾကာင္းအခ်င္းခ်င္းကို”+”signသံုးျပီးဆက္လို့ရမယ္ဆိုရင္variableေတြကိုေရာအဲဒီပံုစံမ်ိဳးအတိုင္း
ဆက္ျပီးေတာ့သံုးလို့ရမရဆိုတာကိုစဥ္းစားၾကည့္မိမယ္ဆိုရင္ဒီprogramကိုကိုယ့္ဘာသာကိုယ့္ေရးၾကည့္လို ့ရမွာပါ။
ဒီprogramကို println ဘဲသံုးျပီးေတာ့လဲေရးလို ့ရပါတယ္။
(၂)example 1ကိုျပင္ေရးမယ္
ျပီးခဲ့တဲ့သင္ခန္းစာက example1 ကိုျပင္ေရးမယ္ဆိုရင္ေတာ့ျပသနာရွိေနပါတယ္။
ဘာလို့လဲဆိုရင္တြက္ခ်က္တာေတြကိုprintln ရဲ ့ကြင္းစကြင္းပိတ္ထဲမွာထည့္ေရးထားလို ့ပါ။
အခုerrorကဘာကိုဆိုလိုတာလဲ?
ကဲဘယ္လိုဆက္လုပ္ၾကမလဲနည္းနည္းစဥ္းစားၾကည့္ရေအာင္။
အရင္ဆံုးerror ဘယ္မွာျဖစ္ေနသလဲဆိုတာကိုၾကည့္လိုက္ပါ။
Calculate.java:6 ဆိုတာကိုေတြ့မွာပါ။ဆိုလိုတာကlineNo(6)မွာerrorစေတြ ့တာဘာလို ့ေျပာတာပါ။ဒါဆို
lineNo (5) အထိဘာမွမျဖစ္တာေတာ့ေသခ်ာတယ္။lineNo (5) အထိကိုဘဲtest လုပ္ၾကည့္ရေအာင္
တြက္ခ်က္တဲ့အလုပ္ကိုine no 5 မွာအလုပ္မလုပ္ဘဲ6နဲ ့3 ႏွစ္ခုကိုေပါင္းျပီးေရးလိုက္တာပါ။ဒါဆို “+”signကတြက္ခ်က္တဲ့အလုပ္မလုပ္ဘဲစကားလံုးဆက္ေပးတဲ့အလုပ္ကိုလုပ္သြားတာကိုေတြ ့ရမွာပါ။
ဒါဆိုဘယ္လိုဆက္လုပ္ၾကမလဲ?
နည္းနည္းေတာ့စဥ္းစားရခက္တဲ့အတြက္ေၾကာင့္အေျဖကိုၾကည့္ၾကည့္လိုက္ပါ။
Example ရဲ ့အေျဖကိုေအာက္မွာေပးထားပါတယ္။
public class Calculate
{
public static void main(String [] args)
{
System.out.println(“6 + 3 = ” + (6 + 3));
System.out.println(“6 – 3 = ” + (6 – 3));
System.out.println(“6 * 3 = ” + (6 * 3));
System.out.println(“6 / 3 = ” + (6 / 3));
}
အခုဆိုရင္အေျဖမွန္ကိုၾကည့္ျပီးေလာက္ျပီေပါ့။
ကဲဒါဆိုဘာေတြေျပာင္းလဲသြားလဲဆိုတာcoding 1 ေၾကာင္းေလာက္ယူျပီးၾကည့္ၾကည့္ရေအာင္။
System.out.println(“6 + 3 = ” + (6 + 3));
အေျဖမွန္ထြက္ေအာင္ေရးထားတဲ့အေၾကာင္းအရင္းကေတာ့
“6+3=” ဆိုတဲ့ေဘးမွာရွိေနတဲ့“+” sign ကစာေၾကာင္းနွစ္ခုကိုဆက္ေပးတဲ့အလုပ္ကိုလုပ္ျပီးေတာ့ “(6+3)” ဆိုတဲ့အထဲမွာရွိတဲ့“+” sign ကေတာ့တြက္ခ်က္တဲ့အလုပ္ကိုလုပ္ေပးလို ့ပါဘဲ။
ကဲဒါဆိုဒီလိုအေျဖမ်ိဳးကိုcomputerထဲမွာဘယ္လိုလုပ္ေဆာင္သြားတယ္ဆိုတာကိုတစ္ခ်က္ေလ့လာၾကည့္ရေအာင္။
Computer ကformula ကိုဘယ္ဘက္ကေနစျပီးညာဘက္ကိုၾကည့္ပါတယ္။
ဆိုလိုခ်င္တာကprintln ရဲ ့ကြင္းထဲမွာရွိတဲ့အစီအစဥ္အတိုင္းလုပ္ေဆာင္တာပါ။
[1] “6+3=” ကိုအရင္ဆံုးေတြ ့တဲ့အတြက္ေၾကာင့့္stringအျဖစ္မွတ္လိုက္တယ္။
[2] အဲဒီေနာက္က“+”signကိုေတြ ့တဲ့အခါစာေၾကာင္းေတြတစ္ခုနဲ႕တစ္ခုကိုဆက္ေပးတဲ့အလုပ္ကို
လုပ္တယ္။
[3] အဲဒီေနာက္ “(“ ကြင္းစကိုဖတ္တယ္။
[4] ကြင္းစရဲ့ေနာက္မွာ6+3ဆိုျပီးေတြ ့တယ္(ကြင္းစကြင္းပိတ္ထဲမွာ” ”မသံုးထားတဲ့အတြက္ေၾကာင့္
number လို ့ပဲမွတ္ယူလိုက္တယ္။ )
[5] 6+3 ဆိုျပီးဖတ္ျပီးသြားတဲ့အခ်ိ္န္မွာတြက္ခ်က္တဲ့အလုပ္ကိုလုပ္ေပးတယ္။
[6] တြက္ခ်က္တဲ့အလုပ္ကိုလုပ္ျပီးသြားတဲ့ေနာက္ဆံုးမွာေတာ့ရလာတဲ့အေျဖကိုအေရွ ့မွာရွိတဲ့“6+3=”
ဆိုတဲ့စာေၾကာင္းနဲ ့ေပါင္းျပီးoutput ျပတယ္။
No.[5]နဲ့[6]ကနည္းနည္းေတာ့နားလည္ရခက္ေနပါလိမ့္မယ္္။အရင္သင္ခန္းစာမွာရွင္းျပေပးထားခဲ့သလိုဘဲ“6+3”
ကိုဒီလိုမ်ိဳးမသံုးဘူးဆိုရင္computerကvariable numberကိုစီစဥ္ျပီးvariableထဲကိုအစားသြင္းလိုက္တာပါ။
အဲလိုလုပ္တာကို no. [6] မွာစာေၾကာင္းနဲ ့variable နဲ ့ဆက္တဲ့အေၾကာင္းရွင္းထားတာပါ။
Example no. (1)မွာသံုးထားတဲ့ပံုစံကိုရွင္းထားတာပါ။
အေပၚမွာရွင္းျပခဲ့တဲ့sequenceကိုမသိခဲ့ရင္ေတာ့ဒီလုပ္ေဆာင္ခ်က္ကိုနားလည္ရနည္းနည္ခက္ပါတယ္
အဲဒီsequence မွာရွိေနတဲ့အခ်က္တစ္ခုခ်င္းစီတိုင္းကိုcomputer ကလုပ္ေဆာင္သြားတာပါ။
Computerဆိုတာအျမဲတမ္းsequenceအတုိင္းလုပ္ေဆာင္ခ်က္ေတြကိုအစီအစဥ္တက်ရိုးရိုးရွင္းရွင္းဘဲ
လုပ္ေဆာင္တဲ့အတြက္ေၾကာင့္programကိုသူ ့လုပ္ေဆာင္ခ်က္အစီအစဥ္အတိုင္းျမင္တတ္မယ္
ဆိုရင္ ျပသနာေတြ error ေတြကိုေျဖရွင္းတဲ့အခါခ်က္ခ်င္းအေျဖရွာနုိင္မွာပါ။
ဒီအခ်က္ေတြကိုနားလည္ဖို ့ခက္ခဲျပီးနားလည္ေအာင္လုပ္ဖို ့အခ်ိန္ယူေကာင္းယူရပါလိမ့္မယ္။ဒါေပမယ့္
တကယ္နားလည္ဖို ့ကပိုအေရးၾကီးပါတယ္။
တကယ္လို ့သာprogram error ေတြကိုဥာဏ္စမ္းပုစာၦေတြကိုေျဖရွင္းတယ္လို ့သာစဥ္းစားလိုက္မယ္ဆိုရင္
program နဲ ့အျမဲတမ္းရင္းရင္းနွီးနွီးျဖစ္ေနမွာေသခ်ာပါတယ္။
ဒီသင္ခန္းစာကိုေလ့လာျပီးတဲ့အခါprogram ေတြဟာလုပ္ေဆာင္ခ်က္ေတြprocessing လုပ္တဲ့အခါ
ဘယ္ဘက္အစြန္ဆံုးကေနအစီအစဥ္အတိုင္းလုပ္သြားတယ္ဆိုတာကိုသတိထားမိမယ္လို ့ထင္ပါတယ္။
Computerကလည္းformula ဒါမွမဟုတ္လုပ္ေဆာင္ခ်က္ေတြကိုလုပ္ေတာ့မယ္ဆိုဘယ္ဘက္ကေနညာ
ဘက္မွာရွိတဲ့စာေတြကိုအကုန္ဖတ္ျပီးကြင္းစကြင္းပိတ္ကိုေတြ ့ရင္ေတာ့အတြင္းအက်ဆံုးကြင္းထဲမွာရွိတဲ့
လုပ္ေဆာင္ခ်က္ကိုအရင္လုပ္တယ္ဆိုတာသေဘာေပါက္ဖို ့လိုပါတယ္။
ကဲ ဒီသင္ခန္းစာမွာဘာေတြသင္ခဲ့လဲဆိုတာအက်ဥ္းခ်ဳပ္မွာၾကည့္လိုက္ရေအာင္။
အက်ဥ္းခ်ဳပ္
၁ Println အသံုးျပဳပံုကိုပိုနားလည္လာမယ္
၂ Computerမွာprocessလုပ္ေဆာင္ခ်က္ေတြဘယ္လိုလုပ္သြားလဲဆိုတာကိုသိလာမယ္အခုဆို
screenမွာoutputကိုကိုယ္ျပခ်င္တဲ့ပံုစံနဲ့ျပနိုင္လာမယ္လို့ယံုၾကည္ပါတယ္။
ကဲဒါဆို ေနာက္သင္ခန္းစာမွာဘာေတြသိလာမလဲဆိုဆက္ၾကည့္ၾကည့္ရေအာင္။
[ဆက္ရန္] [သင္ခန္းစာ ၈] println ဆုိတာ ကိုနားလည္ေအာင္လုပ္ၾကမယ္။