[သင္ခန္းစာ-၃] – Program ကို execute လုပ္ၾကမယ္

[သင္ခန္းစာ - ၃] - Program ကို execute လုပ္ၾကမယ္

Program အေၾကာင္းကိုပိုျပီးအတြင္းက်က်သိေအာင္ဒီသင္ခန္းစာမွာရွင္းျပေပးထားပါမယ္

ျပီးခဲ့တဲ့သင္ခန္းစာမွာေရးခဲ့တဲ့Program ကိုေကာင္းေကာင္းrun လို႔ ရၾကလား? ကိုယ္ေရးခဲ့တဲ့

Program တစ္ပုဒ္အဆင္ေျပေျပ runလို႔ ရတယ္ဆိုရင္ဘယ္သူမဆို၀မ္းသာၾကမွာပါ။

ကဲဒါဆိုဆက္ျပီးေတာ့programming အေၾကာင္းကိုေလ့လာၾကည့္ရေအာင္။ တကယ့္begineer တစ္ေယာက္အေနနဲ႕ သိသင့္တာေတြကို ဒီသင္ခန္းစာမွာ ေသခ်ာ နားလည္ေအာင္ရွင္းျပသြားပါမယ္။

၁။ Environment variable ကိုေျပာင္းၾကည့္ရေအာင္

သင္ခန္းစာ”0” တုန္းက၊ environment variable “PATH”ကိုsetting လုပ္ခဲ့တာ မွတ္မိၾကမွာပါ။ အခုဘာလို႔ အဲဒီvariable ကိုsetting လုပ္ရလဲဆိုတာေလ့လာၾကည့္ရေအာင္။

ဒီenvironment variable ဘယ္လိုအလုပ္လုပ္လဲဆိုတာသိဖို႕အတြက္”PATH”ကိုset မလုပ္ဘဲ စမ္းၾကည့္ရေအာင္။(အေရးေတာ့ မၾကီးပါဘူး။ ဒါေပမယ့္ အခ်ိန္ရွိရင္ေတာ့ ေလ့လာေစခ်င္ပါတယ္)

03-1

Command promptထဲမွာ”javac”အလုပ္မလုပ္ေတာ့တာကို ေတြ႕ရမွာပါ။

(ပံုမွာျမင္ရတာ ကေတာ့Window XP ရဲ႕ command prompt ကပံုပါ)

ဒီလိုဘာေၾကာင့္ျဖစ္ရလဲဆိုရင ္”javac”ဆိုတဲ့command ကို pc ကမသိလို႔ ့ျဖစ္ပါတယ္

※”Command”ဆိုတာcomputer ထဲမွာအလုပ္လုပ္ဖို့အတြက္ အမိန္႕ေပးတဲ့စာေတြ ရိုက္ထည့္တာကိုေခၚပါတယ္။

ေျပာရမယ္ဆိုရင္enviroment variable “PATH” ကcomputer ကို “javac”command ရွိတဲ့ေနရာကိုလမ္းညႊန္ေပးတဲ့variable ပဲျဖစ္ပါတယ္။ဒီအတြက္ေၾကာင့္”PATH”ကို” C:\Program Files\Java\jdk1.7.0_15\bin”လိုsetting လုပ္ရျခင္းပဲျဖစ္ပါတယ္။”PATH” ကိုprogram run တဲ့အခါမွာသံုးတဲ့ “java” command ရွာတဲ့အခါမွာလည္းသံုးပါတယ္။

“PATH”အေၾကာင္းကိုေသေသခ်ာခ်ာသိခ်င္တယ္ဆိုရင္ေတာ့[အပိုသိသင့္ေသာအခ်က္မ်ား ၂-“PATH” ဆိုတာ]

အခုအခ်ိန္ကစျပီးerror messages ေတြကိုမျမင္ခ်င္လည္းျမင္ရေတာ့မွာပါ။Error message ျမင္လုိ့စိတ္မပ်က္ပါ နဲ႔။Error message ကဘာကိုဆိုလိုလဲဆိုတာကို ေသခ်ာနားလည္ သေဘာေပါက္ဖို႕လိုပါတယ္။ Errror messageကိုအၾကိမ္ၾကိမ္ ဖတ္ၾကည့္လိုက္ရင္ ဒီerrorဘာကိုဆိုလိုတယ္ဆိုတာကို အနည္းဆံုး သဲလြန္စေလးေတာ့ရနိုင္ပါတယ္။ Error ကိုယ္ကိုယ္တိုင္မဖတ္ဘဲတစ္ျခားလူတစ္ေယာက္ကိုေမးလိုက္ရင္လြယ္ေပမဲ့ကိုယ္ကိုယ္တုိင္ဘယ္လိုလုပ္ရမလဲဆိုတာဘယ္ေတာ့မွသိမွာမဟုတ္ပါဘူး။

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

Javaမွာေနာက္ထပ္”CLASSPATH” လို႔ေခၚတဲ့environement variable ရွိပါေသးတယ္။ ”PATH” ဆိုတာဘာလဲ သိျပီးျပီ ဆိုေတာ့ ”CLASSPATH”ကိုပါ ေလ့့လာၾကည့္ရေအာင္္။ ”Javaကိုinstall လုပ္ၾကမယ္။” ဆိုတဲ့ေခါင္းစဥ္ေအာက္မွာ ရွိတဲ့[အဆင့္၃]Begineer ေတြမွားတတ္တဲ့environment variable ဆိုတာကိုျပန္ၾကည့္ပါ။

ျပီးရင္ေအာက္မွာျပထားတဲ့အတိုင္းလုပ္ၾကည့္ရေအာင္။

Variable name: CLASSPATH

Variable value: (nothing)

Setting လုပ္ျပီးျပီဆိုရင္ေတာ့java command ရိုက္ထည့္ျပီးprogram ကိုrun ၾကည့္ပါ။

★သတိျပဳရန္★

Setting လုပ္ျပီးျပီဆိုရင္command prompt ကိုတစ္ေခါက္ပိတ္ျပီးျပန္ဖြင့္ဖို႔လိုပါလိမ့္မယ္။

C:\WORK>javac HelloWorld.java

C:\WORK>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld

C:\WORK>

အခုအခ်ိန္အထိcomplie လုပ္တာအဆင္ေျပခဲ့ေပမယ့္တစ္ခုခုလဲြလို႔ error message ေတြ႕ ရင္ေတာ့ စိတ္႐ွဳပ္္ေကာင္း႐ွဳပ္္ပါလိမ့္မယ္။ စိတ္ဓါတ္မက်ပါနဲ႔” NoClassDefFoundError:HelloWorld” ဆိုတဲ့error message ကိုနားလည္ေအာင္ လုပ္ၾကည့္ ရေအာင္။ ဒီerror message က ဘာကို ဆိုလိုတယ္လို႔  ထင္ပါသလဲ။ Class definitionကို မ ေတြ႕ ဘူးလို႔ဆိုပါတယ္။ ”Def”ဆိုတာ”Definition”ကို ဆိုလိုတာပါ။

သင္ခန္းစာ၁မွာတုန္းကေဆာက္ခဲ့တဲ့”HelloWorld.class”ကိုမေတြ႕ ဘူးလို႔ ေျပာခ်င္တာပါ။

Java class file ကိုရွာဖို့အတြက္ဆိုရင္“ClASSPATH”ကို setting လုပ္ဖို႕လိုအပ္ပါတယ္ ဒါဆိုPC ကိုJava Class ဘယ္မွာရွိတယ္ဆိုတာကိုေျပာဖို့လိုပါလိမ့္မယ္။အခုလိုျဖစ္ရတဲ့ အေၾကာင္းရင္းကေတာ့ “CLASSPATH” ကိုဘာမွမၿဖည္႕ဘဲထားခဲ့တဲ့အတြက္ေၾကာင့္   ပဲျဖစ္ပါတယ္။ အဲဒါေၾကာင့္Class file ကိုရွာမေတြ႕ဘူးဆိုတဲ့message ကိုျမင္ရျခင္းပဲ ျဖစ္ပါတယ္။

အခုထပ္ျပီးေတာ့setting window ကိုဖြင့္ျပီးenvironment variable setting ကိုေအာက္ပါအတုိင္းေျပာင္းလုိက္ပါ။

Variable Name: CLASSPATH

Variable Value:.(←valueအေနနဲ႔”dot” [.]ကိုထည့္ေပးပါ။ ဆိုလိုတာက လက္ရွိရွိတဲ့directory ကို လမ္းေၾကာင္း ေပးလိုက္တာပဲျဖစ္ပါတယ္။) ※Directory ဆိုတာfolder ရွိတဲ့လမ္းေၾကာင္းကို ဆိုလိုျခင္းပဲျဖစ္ပါတယ္။Setting လုပ္လို႔ျပီးသြားျပီဆိုရင္ေတာ့အခုေလးတင္run ခဲ့တဲ့program ကိုေနာက္တစ္ေခါက္ထပ္run ၾကည့္ပါ။Java commandကိုရိုက္တဲ့အခါဘာerror မွမျပေတာ့တာကို ေတြ႕ရပါလိမ့္မယ္။Java command ကို execute လုပ္တဲ့folder ထဲမွာပဲHelloWorld”ဆိုတဲ့class ကရွိေနတာပါ။အဲဒါေၾကာင့္Java ကအဲဒီclass ကိုရွာေတြ႕ သြား ျပီးrun လို႔ ရသြားတာပါ။

အခုဆိုရင္program ကပံုမွန္အတုိင္းrun လို႔ ့ရသြားပါျပီ။

ဒီprogram ဘာေၾကာင့္ပံုမွန္အတိုင္းျပန္run လဲဆိုတာကို ရွင္းရွင္းလင္းလင္း သိသြားျပီ လို႔ထင္ပါတယ္။ “CLASSPATH” setting ကတကယ္ေတာ့ မလိုအပ္ပါဘူး။ ဘာလို႔လဲဆိုရင္computer ကclass fileရွာတဲ့အခါလက္ရွိရွိေနတဲ့directory ကိုauto ၀င္ရွာနိုင္လို႔ပါ။ဒါေပမဲ့တခ်ိဳ႕အခ်ိန္ေတြမွာ ”CLASSPATH”က တစ္ျခားေနရာ ျဖစ္ေနတာမ်ိဳးျဖစ္ေနတာမ်ိဳး ဆိုရင္ေတာ့ computer ကို class file ရွိတဲ့ေနရာကို ေျပာျပေပးဖို့ လို႔တာေၾကာင့့္ဒီsetting ကို သိထားသင့္ပါတယ္။ Directory တစ္ခုထက္ပိုျပီး ရွုာခ်င္တယ္ဆိုရင္ေတာ့ေအာက္မွာျပထားတဲ့အတိုင္းsetting လုပ္နိုင္ပါတယ္။“(Directory A);(Directory B);( Directory C);..”Directory တစ္ခုနဲ့ တစ္ခုျခားမွာsemicolon[;] ထည္႔သြားရံုပါပဲ။

၂။ Class name(file name)ကိုေျပာင္းၾကည့္ရေအာင္။

“HelloWorld” ဆိုတ ဲ့class name (or) file nameကိုသင္ခန္းစာ၂မွာတုန္းက“public class HelloWorld”ဆိုျပီးprogramထဲမွာေရးခဲ့ဖူးပါတယ္။အခုအဲ့ဒီ file name ကိုစာလုံးအၾကီး ေတြနဲ့”HELLOWORLD”ဆိုျပီးေျပာင္းၾကည့္ရေအာင္။ေျပာင္းျပီးသြားရင္ေတာ့compile လုပ္ၾကည့္ပါ။

03-2

Error ေပၚလာတာကိုေတြ႕လာပါလိမ့္မယ္။
ဘာေၾကာင့္လဲဆိုရင္”HELLOWORLD”ဆိုတဲ့class name က “HELLOWORLD.java”ဆိုတဲ႔ file  ကိုရွာမေတြ႕လို႔ ပါ။
အဲဒါဆိုရင္

1.    File name နဲ့Class Name နဲ့တူရပါမယ္။
2. Java မွာclass name နဲ့File name မွာ စာလံုးအၾကီးအေသး အမွားမခံဘူးဆိုတာ
ကိုသိရပါမယ္။(အရမ္းအေရးၾကီးပါတယ္)

နည္းနည္းေလာက္မွားမိတာနဲ့program ကလံုး၀အလုပ္မလုပ္ေတာ့ပါဘူး။အဲဒါေၾကာင့္ စာလံုးအၾကီးအေသးနဲ႔စာလံုးေပါင္း မမွားဖို့ေသခ်ာေအာင္လုပ္ဖို႔ လိုပါတယ္။Command prompt မွာရိုက္ရင္လည္း စာလံုးအၾကီးအေသးကို သတိထားရပါမယ္။Begineer ေတြအတြက္ကေတာ့ မွားတတ္တဲ့အမွားမ်ိဳးပါ။ အဲဒါေၾကာင့္ဒီအခ်က္ကို အထူးသတိထားဖို့လိုပါတယ္။

၃။ Coding style ကိုေျပာင္းၾကည့္ရေအာင္။

သင္ခန္းစာ၁နဲ့၂မွာတုန္းက programမွာလြတ္ေနတဲ့ေနရာ (space)ေတြ,blank line ေတြအမ်ားၾကီးရွိေနပါတယ္။ တကယ္ပဲ အဲဒီလိုလုပ္ဖို့လိုအပ္ပါသလား? စဥ္းစားစရာပါဘဲ။ ဒါဆိုအဲဒီေနရာလြတ္ေတြ(space),break line ေတြကိုဖယ္ျပီးလိုင္းတလိုင္းထဲမွာပဲprogram ေရးရင္ဘာျဖစ္မလဲ ၾကည့္ၾကည့္ရေအာင္။ ေအာက္မွာျမင္ရတဲ့အတုိင္း program ကို ေတြ႕ရမွာပါ။ ဒီလိုစမ္းျပီးျပီဆိုရင္ေတာ ့programကိုသင္ခန္းစာ ၁ နဲ့၂ တုန္းကလိုျပန္format လုပ္ဖို့မေမ့ပါနဲ႔။

အခုဆိုရင္ေနရာလြတ္(space),blank line မရွိတဲ့program ကိုrun ၾကည့္ရေအာင္။

C:\WORK>javac HelloWorld.java

C:\WORK>java HelloWorld
Hello Java World !

C:\WORK>

ပံုမွန္အတုိင္းrun ေနပါတယ္။ဒါဆိုဘာ လို႔ blank line ေတြေနရာလြတ္ေတြ (space)ေတြထည့္ေနမွာလဲလို႔ေမးစရာ ရွိလာပါလိမ့္မယ္။အေၾကာင္းကေတာ့ program ဖတ္ရလြယ္ေအာင္ လို႔ ပါ။ ဘယ္သူမဆို ဒီprogram ကိုလြယ္လြယ္ကူကူ နားလည္နိုင္ေအာင္ လို႔ ပဲျဖစ္ပါတယ္။

ကြင္းစ ကြင္းပိတ္ေတြမွာမွန္မမွန္ ကိုယ္ျမင္ခ်င္တဲ့message ဘယ္မွာေရးထားတယ္ ဆိုတာေတြကိုတလိုင္း ထဲမွာအကုန္စုျပီး ေရးထားရင္ရွာဖို့မလြယ္ပါဘူး။ တကယ္ လို႔ error ျဖစ္ခဲ့မယ္ဆိုရင္error message ကမဆိုင္တာေတြထြက္လာဖို့မ်ားပါတယ္. ”The error was found in line No.1”ဆိုရင္ဘယ္ေနရာမွာerror ျဖစ္ လို႔ ျဖစ္မွန္းသိမွာမဟုတ္ပါဘူး။ အဲဒီအတြက္ေၾကာင့္blank line နဲ့ေနရာလြတ္(space)ေတြကိုerror ဘယ္မွာရွိနိုင္လဲဆိုတာရွင္းရွင္းလင္းလင္းျဖစ္ေအာင္ လို႔ထည့္ခ်င္းပဲျဖစ္ပါတယ္။

ဒီလိုအေလ့အက်င့္ကို အစကတည္းကလုပ္မယ္ဆိုရင္ ေနာက္ဆိုရင္ဒီလို လုပ္မိတဲ့ ေကာင္းက်ိဳးေတြကိုသိလာမွာပါ။

ကဲသင္ခန္းစာ ၃ ကေတာ့ဒီေလာက္ပါဘဲ “HelloWorld” program ကိုေကာင္းေကာင္း နားလည္သြားျပီလို႔ထင္ပါတယ္။အခုသိထားသမွ်ေတြက ေမ့မသြားေအာင္ ျပန္ေလ့လာဖို႔ေတာ ့မေမနဲ႔ဦးေနာ္။

[ဆက္ရန္] သင္ခန္းစာ ၄: Program တစ္ပုဒ္၏ အဓိက အခ်က္မ်ား

Next Page


Check our Facebook Page!