How to write a Java Program (basics)
ඔන්න එහෙනම් අපේ පළවෙනි Java Program එක ලියන්න තමයි මේ සූදානම.. කට්ටිය එහෙනම් JDK එක install කරගෙන ඕනම තැනක ඉඳන් java program එකක් run කරන්න පුළුවන් වෙන විදියට Path එකත් හදාගෙනනෙ ඉන්නෙ.. ( කියලා මම හිතනවා. තාම හැදුවෙ නැත්නම් මෙතනින් ගිහින් හදාගන්නකො.. ) ඔන්න එහෙනම් අපි වැඩේ පටන් ගමු. හැබැයි ඊට කලින් ඇයි අපි java ම ඉගෙන ගන්නෙ කියලා පොඩ්ඩක් බලලා ඉමු.
JAVA
C language එක දියුණු කරලා හැදුවා C++ language එක. ඒ C++ දියුණු කරලා එක team එකක් හැදුවා C#. මේ C# use කරන්නෙ ගොඩක්ම microsoft products වලට. තව team එකක් C++ දියුණු කරලා හදාගත්තා JAVA කියන language එක. මේක open source නිසා ඕනම කෙනෙක්ට use කරන්නත් පුළුවන් වගේම ඕනම කෙනෙක්ට තමන් අළුතින් හොයා ගන්න දේවල් java වලට එකතු කරන්නත් පුළුවන්. මෙන්න මේ හේතුව නිසා java ගොඩක් ඉස්සරහට ආවා. ඒ වගේම java කියන්නෙ English වලට ගොඩක්ම ආසන්න language එකක්. ඒක නිසා ඉගෙන ගන්න අමාරුත් නෑ..
ඊටත් වඩා වටිනම දේ තමයි අනිත් ගොඩක් language වලදි program එක (software එක) run වෙන්නෙ ඒ හදපු OS එකේම විතරයිනේ.. ( ඒ කියන්නෙ XP වල ඉඳන් හැදුවනම් run වෙන්නෙත් XP වල විතරයි. 7 වලවත් linux, apple වගේ වෙන OS වලවත් run වෙන්නෙ නෑ ) හැබැයි java වලින් හදන program එකක් ඕනම OS එකක run කරවන්න පුළුවන්. ඒකට හේතුව තමයි අනිත් languages වල ඉන්න compiler ( අපිට තේරෙන භාෂාවෙන් ලියන program එක computer එකට තේරෙන භාෂාවට හරවන කෙනා ) අපේ source code එක හරවන්නෙ කෙලින්ම ඒ OS එකට තේරෙන machine code එකකට වුනාට java compiler අපේ source code එක හරවන්නෙ byte code කියලා අතරමැදි අවස්ථාවකට.
JVM (Java Virtual Machine)
දැන් කෙනෙක්ට හිතෙන්න පුළුවන් ඉතින් අතරමැද අවස්ථාවකට compile කරා කියලා වෙනස මොකක්ද කියලා. ඇත්තටම java වල රහස තියෙන්නෙ මේ JVM එකත් එක්ක. මොකද JAVA කියන එක platform independent වෙන්නෙ මේ JVM එක නිසාමයි. ඇත්තටම JVM එකෙන් කරන්නෙ අර java compiler හදන byte code එක OS එකට තේරෙන භාෂාවට හරවලා දෙන එක. දැන් ඊළඟ ප්රශ්නෙ jvm එකට එහෙම byte code එකේ තියෙන දේවල් OS එකට තේරෙන්න හරවලා දුන්නට ඒක නිසා කොහොමද ඕනම OS එකක run කරන්න පුළුවන් වෙන්නෙ කියන එකනේ.. ඒකට උත්තරේ තමයි දැන් ඕනම OS එකක වගේම ගොඩක් electronic උපකරණ වලත් JVM එකක් තියෙනවා. දැන් එහෙනම් හරිනේ.. ඕනම OS එකක JVM එකක් ඉන්නවනම් Java වලින් හදන byte code එක ඕනම OS එකක run කරවන්න පුළුවන්නේ.. :-)
ඕනම java program එකක් ගහද්දි තියෙන්නම ඕන ටික තමයි මේ කියලා දෙන්නෙ. ඒක නිසා මේ ටික හොඳටම මතක තියාගන්න ඕන. ( අවුලක් නෑ හැමතිස්සෙම use වෙන නිසා බලෙන් කට පාඩම් කරන්න ඕන නෑ මතක තියාගන්න. ) මම හැමදේකම හේතු කියලා දෙන්නම් ඒත් මේ ඒකට වෙලාව නෙවෙයි. ඒක නිසා දැනට ගිරා පැටියෙක් දාගන්න. ඉස්සරහට මේ හැමදේකම තේරුම් කියලා දෙන්නම්කො..
JAVA
C language එක දියුණු කරලා හැදුවා C++ language එක. ඒ C++ දියුණු කරලා එක team එකක් හැදුවා C#. මේ C# use කරන්නෙ ගොඩක්ම microsoft products වලට. තව team එකක් C++ දියුණු කරලා හදාගත්තා JAVA කියන language එක. මේක open source නිසා ඕනම කෙනෙක්ට use කරන්නත් පුළුවන් වගේම ඕනම කෙනෙක්ට තමන් අළුතින් හොයා ගන්න දේවල් java වලට එකතු කරන්නත් පුළුවන්. මෙන්න මේ හේතුව නිසා java ගොඩක් ඉස්සරහට ආවා. ඒ වගේම java කියන්නෙ English වලට ගොඩක්ම ආසන්න language එකක්. ඒක නිසා ඉගෙන ගන්න අමාරුත් නෑ..
ඊටත් වඩා වටිනම දේ තමයි අනිත් ගොඩක් language වලදි program එක (software එක) run වෙන්නෙ ඒ හදපු OS එකේම විතරයිනේ.. ( ඒ කියන්නෙ XP වල ඉඳන් හැදුවනම් run වෙන්නෙත් XP වල විතරයි. 7 වලවත් linux, apple වගේ වෙන OS වලවත් run වෙන්නෙ නෑ ) හැබැයි java වලින් හදන program එකක් ඕනම OS එකක run කරවන්න පුළුවන්. ඒකට හේතුව තමයි අනිත් languages වල ඉන්න compiler ( අපිට තේරෙන භාෂාවෙන් ලියන program එක computer එකට තේරෙන භාෂාවට හරවන කෙනා ) අපේ source code එක හරවන්නෙ කෙලින්ම ඒ OS එකට තේරෙන machine code එකකට වුනාට java compiler අපේ source code එක හරවන්නෙ byte code කියලා අතරමැදි අවස්ථාවකට.
JVM (Java Virtual Machine)
දැන් කෙනෙක්ට හිතෙන්න පුළුවන් ඉතින් අතරමැද අවස්ථාවකට compile කරා කියලා වෙනස මොකක්ද කියලා. ඇත්තටම java වල රහස තියෙන්නෙ මේ JVM එකත් එක්ක. මොකද JAVA කියන එක platform independent වෙන්නෙ මේ JVM එක නිසාමයි. ඇත්තටම JVM එකෙන් කරන්නෙ අර java compiler හදන byte code එක OS එකට තේරෙන භාෂාවට හරවලා දෙන එක. දැන් ඊළඟ ප්රශ්නෙ jvm එකට එහෙම byte code එකේ තියෙන දේවල් OS එකට තේරෙන්න හරවලා දුන්නට ඒක නිසා කොහොමද ඕනම OS එකක run කරන්න පුළුවන් වෙන්නෙ කියන එකනේ.. ඒකට උත්තරේ තමයි දැන් ඕනම OS එකක වගේම ගොඩක් electronic උපකරණ වලත් JVM එකක් තියෙනවා. දැන් එහෙනම් හරිනේ.. ඕනම OS එකක JVM එකක් ඉන්නවනම් Java වලින් හදන byte code එක ඕනම OS එකක run කරවන්න පුළුවන්නේ.. :-)
Our First Program
ඕනම java program එකක් ගහද්දි තියෙන්නම ඕන ටික තමයි මේ කියලා දෙන්නෙ. ඒක නිසා මේ ටික හොඳටම මතක තියාගන්න ඕන. ( අවුලක් නෑ හැමතිස්සෙම use වෙන නිසා බලෙන් කට පාඩම් කරන්න ඕන නෑ මතක තියාගන්න. ) මම හැමදේකම හේතු කියලා දෙන්නම් ඒත් මේ ඒකට වෙලාව නෙවෙයි. ඒක නිසා දැනට ගිරා පැටියෙක් දාගන්න. ඉස්සරහට මේ හැමදේකම තේරුම් කියලා දෙන්නම්කො..
java වලදි programs ලියන්නෙ class එකක් ඇතුලේ.. ඒ කියන්නෙ class එකක් කියන්නෙ මෙතනදි codings තියාගන්න මොකක් හරි දෙයක් කියලා හිතාගන්නකො. ( මේක ගැන පස්සෙ කියලා දෙන්නම්. දැනට idea එකක් විතරක් ඔලුවට දාගන්න. ) ඉතින් මේ class එකක් හදන්නෙ උඩ රූපේ පෙන්නලා තියෙන විදියට class කියලා ලියලා ඒ class එකට දෙන්න ඕන නම දෙන්න ඕන. ( මෙතනදි නම් නම Example ) ඊට පස්සෙ මේ class එක යටතේ දේවල් තියෙන නිසා curly braces දාලා ඒක ඇතුලෙ තමයි ඒවා ලියන්න ඕන.. ඇත්තටම මම කලින් කියපු byte code එක හැදෙන්නෙ මේ class එකට දෙන නමින්..
දැන් ඊළඟට තියෙන ප්රශ්නෙ අපි දැන් කොහේද codes ලියන්නෙ කියන එකනේ.. JVM එක හදන කොට එයාට කියලා දීලා තියෙන්නෙ අපි මේ හදන class එකක main කියලා function එකක් තියේනම් ඒක ඇතුලෙ තියෙන codes ටික run කරන්න කියලා. එහෙනම් අපිට වෙන්න ඕන දේවල් ලියන්න ඕන ඒ main කියන function එක ඇතුලේ.. ඇත්තටම function එකක් කියන්නෙ codes ටිකක් ලියලා තියන තැනක් කියලා දැනට idea එකක් ගන්නකෝ.. දැන් එහෙනම් එහෙමම මතක තියාගන්න java වලදි අපි මේ function එකට කියන්නෙ method එකක් කියලා. හරි නේද අමතක කරන්න එපා function එකම තමයි කියන නම විතරයි වෙනස් වුනේ.. දැන් එහෙනම් අපි බලමුකෝ මේ කියන main method එක හදන්නෙ කොහොමද කියලා..
උඩ රූපෙ පෙන්නලා තියෙන විදියට තමයි main method එක හදන්නෙ.. මෙතනදි හොඳට මතක තියාගන්න. public කියන වචනෙයි static කියන වචනෙයි void කියන වචනෙයි අනිවාර්යයි.. ඊට පස්සෙ තියෙන්නෙ ඉතින් main කියන නමනෙ.. මෙතෙනට වෙන නමක් තියෙන්නත් පුළුවන් හැබැයි JVM එකෙන් run කරන්නෙ මෙතන main කියලා තියෙන method එක විතරයි කියලා අමතක කරන්න එපා. ඊට පස්සෙ වරහන් ඇතුලෙ තියෙන String args[] කියන එකත් ලියන්න අමතක කරන්න එපා. දැන් ඉතින් අපි මෙහෙම හදාගත්ත main method එකේ curly braces දාලා ඒක ඇතුලෙ අපිට වෙන්න ඕන දේවල් ටික ලියන්න තියෙන්නෙ..
දැන් idea එකක් තියෙනවා නේද? එහෙනම් බලමුකො කොහොමද මේ main method එක class එකක් ඇතුලෙ තියෙන්නෙ කියලා..
මෙතන මෙහෙම පැහැදිලිව code එක පේනවා නේද? ඒක තමයි java වල standard එක මොකක් හරි දෙයක් යටතේ තව දේවල් තියෙනවා නම් ඒවා එක tab එකක් තියලා ටිකක් එහාට කරලා ලියන්න අමතක කරන්න එපා. ඒ standard එකට හැමෝම ලියන කොට පැහැදිලිව errors වුනත් හදා ගන්න පුළුවන් අපිට.
එහෙනම් කියපු ටික අමතක කරන්න එපා.. හිතනවා හැමෝටම තේරෙන්න ඇති කියලා. එහෙනම් අදට මම සමුගන්නම්. කාට හරි ප්රශ්නයක් තියේනම් අහන්න අමතක කරන්න එපා. ඒ වගේම මේ කරන දේ ගැන අදහසකුත් තියලා යන්න පුළුවන්නම් ඒක මට ලොකු හයියක් වෙයි.. අපි ඊළඟ කොටසෙදි කොහොමද අපිට ඕන දෙයක් java program එකකින් print කරන්නෙ කියලා බලමුකො..
දැන් ඊළඟට තියෙන ප්රශ්නෙ අපි දැන් කොහේද codes ලියන්නෙ කියන එකනේ.. JVM එක හදන කොට එයාට කියලා දීලා තියෙන්නෙ අපි මේ හදන class එකක main කියලා function එකක් තියේනම් ඒක ඇතුලෙ තියෙන codes ටික run කරන්න කියලා. එහෙනම් අපිට වෙන්න ඕන දේවල් ලියන්න ඕන ඒ main කියන function එක ඇතුලේ.. ඇත්තටම function එකක් කියන්නෙ codes ටිකක් ලියලා තියන තැනක් කියලා දැනට idea එකක් ගන්නකෝ.. දැන් එහෙනම් එහෙමම මතක තියාගන්න java වලදි අපි මේ function එකට කියන්නෙ method එකක් කියලා. හරි නේද අමතක කරන්න එපා function එකම තමයි කියන නම විතරයි වෙනස් වුනේ.. දැන් එහෙනම් අපි බලමුකෝ මේ කියන main method එක හදන්නෙ කොහොමද කියලා..
උඩ රූපෙ පෙන්නලා තියෙන විදියට තමයි main method එක හදන්නෙ.. මෙතනදි හොඳට මතක තියාගන්න. public කියන වචනෙයි static කියන වචනෙයි void කියන වචනෙයි අනිවාර්යයි.. ඊට පස්සෙ තියෙන්නෙ ඉතින් main කියන නමනෙ.. මෙතෙනට වෙන නමක් තියෙන්නත් පුළුවන් හැබැයි JVM එකෙන් run කරන්නෙ මෙතන main කියලා තියෙන method එක විතරයි කියලා අමතක කරන්න එපා. ඊට පස්සෙ වරහන් ඇතුලෙ තියෙන String args[] කියන එකත් ලියන්න අමතක කරන්න එපා. දැන් ඉතින් අපි මෙහෙම හදාගත්ත main method එකේ curly braces දාලා ඒක ඇතුලෙ අපිට වෙන්න ඕන දේවල් ටික ලියන්න තියෙන්නෙ..
දැන් idea එකක් තියෙනවා නේද? එහෙනම් බලමුකො කොහොමද මේ main method එක class එකක් ඇතුලෙ තියෙන්නෙ කියලා..
මෙතන මෙහෙම පැහැදිලිව code එක පේනවා නේද? ඒක තමයි java වල standard එක මොකක් හරි දෙයක් යටතේ තව දේවල් තියෙනවා නම් ඒවා එක tab එකක් තියලා ටිකක් එහාට කරලා ලියන්න අමතක කරන්න එපා. ඒ standard එකට හැමෝම ලියන කොට පැහැදිලිව errors වුනත් හදා ගන්න පුළුවන් අපිට.
එහෙනම් කියපු ටික අමතක කරන්න එපා.. හිතනවා හැමෝටම තේරෙන්න ඇති කියලා. එහෙනම් අදට මම සමුගන්නම්. කාට හරි ප්රශ්නයක් තියේනම් අහන්න අමතක කරන්න එපා. ඒ වගේම මේ කරන දේ ගැන අදහසකුත් තියලා යන්න පුළුවන්නම් ඒක මට ලොකු හයියක් වෙයි.. අපි ඊළඟ කොටසෙදි කොහොමද අපිට ඕන දෙයක් java program එකකින් print කරන්නෙ කියලා බලමුකො..
good job
ReplyDeleteThank You !!
DeleteThis comment has been removed by the author.
DeleteNiyami
ReplyDeleteelam elam
ReplyDeleteThis comment has been removed by the author.
ReplyDeletegood job
ReplyDeletethnxs bro
ReplyDeletethanx brother :))
ReplyDeleteGood job bro ..keep it up
ReplyDeletethanks
ReplyDeleteThanks aa
ReplyDeleteJava instroll kra eth eka open kranna bane
ReplyDeleteade java goda dagattha me blog eka hinda. thanks machan, ubata ube adyapana gamana saarthaka wenna me karana pinama athi machan.supiriyatama therenna karala tiyanawa.thank you sooooomuch machooo.
ReplyDeleteGood work.💪👍
ReplyDeleteniyamai.... well done
ReplyDeleteLesatama theruna machan...thank you!!!
ReplyDeletesupiri aa..hodta theruna
ReplyDeleteGood Work
ReplyDeletesupiri wadak
ReplyDeleteSuperb ayye!!!
ReplyDeleteSupiri bro... Oyata Pin
ReplyDeletesuper
ReplyDeleteniyamai aiiye, hodata terenna liyala tiyenawa
ReplyDeletethank u very much................
ReplyDeletekoheda machan mewa type krnne?
ReplyDeletethank u...
ReplyDeleteමම programming ගැන මොකුත් නොදන්න වයසක පොරක්. මෙම ලිපි බාවිතා කරල JAVA ඉගෙන ගන්න try කරනවා.... ඔබට ස්තුතියි.
ReplyDeletethanks
ReplyDeletegodak hoda deyak aiye,good job
ReplyDeleteniyamai ela
ReplyDeletemchn meke video tutorila eka tynwa nm link ekak or email ekak dapnko
ReplyDeletethq
ReplyDeleteSupiri
ReplyDeleteCan you please create a 8086 assembly language tutorial blog.it will be surely helpful us. please accept my req. thank you
ReplyDeleteGood job
ReplyDeletethank you so much
ReplyDeleteGood job..You set a great example for every lessons.We can understand easier.and good luck!!
ReplyDeleteThankyou for teaching this very well
ReplyDeletethank you very much...
ReplyDeleteSupiriyatama therenawa issarahata thawa oni...
ReplyDeletesupiri..
ReplyDeleteGODAK HODA WEDAK.THANK YOU
ReplyDeleteThank you very much, and got a god understanding
ReplyDeletelassnai bs....
ReplyDeletethank you...
ReplyDeletegodak pin
ReplyDeleteniyami.aluth ewa danna
ReplyDeletethank you very much bro...
ReplyDeletegreat work bro
ReplyDeleteThank u
ReplyDeletegood
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteතේරෙනව ආයෙ කිරි කජු වගේ Well done broh
ReplyDeleteGood job machan
ReplyDeleteThank you. 2022 අගෝස්තුවල තමයි බලන්නෙ. මේකේ පුදුම වටිනාකමක් තියෙනව මුල ඉදල අගටම තියෙන නිසා
ReplyDeletethank a lot good job
ReplyDeleteWoow.....brother , thanx for this help ✌.......
ReplyDeleteGodaaaaaaaaak Thanks brother
ReplyDeletenimai godak watinawa jaya weewa
ReplyDeleteKeep it up
ReplyDeletethank you😍
ReplyDeleteapi vage kattiyata karana me udhavvata oyata godak pin....
ReplyDeleteSupiri wadak
ReplyDeleteThank you❤️🤩
ReplyDeletehodata teranawa kiyawaddi.java walata asa hithuna ayya.thank you.
ReplyDeletegood job ayya
ReplyDeletesupiri kanawata site eka hambune pahadilawa ternewa kiyala tiyena dewal
ReplyDeleteayye oop walath ohoma karannako supiriyata terenooo
ReplyDeleteTank You
ReplyDeleteExcelent🤩
ReplyDeletesupiri digatama karagana yanna
ReplyDeleteGreat Work
ReplyDelete