Pages

Saturday, September 27, 2014

Java Part 5 ( data types and variables )



Data Types and Variables


හැමදාම වෙලාවට post එකක් දාන්න හිතාගෙන හිටියට දැන් ඉස්සර තරම්වත් වෙලාවක් ගන්න ලේසි නෑ.. කමක් නෑ අපි කොහොම හරි වැඩේ කරමුකො.. මම මොනදේ වුනත් මේක නවත්තන්නෙ නම් නෑ. අපි එහෙනම් අද programming වලදි නිතරම අහන්න ලැබෙන variable කියන්නෙ මොකක්ද කියලයි java වල data type කියන්නෙ මොනවද, ඇයි මේවා ඕන වෙන්නෙ කියලයි බලමුකො..

variable

ආ එහෙනම් දැන් කියන්න බලන්න මොකක්ද variable එකක් කියලා කියන්නෙ? මතක නැත්නම් කලින් variable ගැන දාපු post එකට ගිහින් variable එකක් කියන්නෙ මොකක්ද, ඇයි අපිට variable අවශ්‍ය වෙන්නෙ, කොහොමද variable එකක් හදන්නෙ, variable වලට values දාන්නෙ කොහොමද කියලා පැහැදිලිව සරලවම බලලා එන්නකො... මෙන්න variable වලට link එක..

මම කෝකටත් කියලා variable ගැන පොඩ්ඩක් මතක් කරලා දෙන්නම්.. හැබැයි idea එකක් ගන්න විතරයි. කලින් දාපු නිසා ආපහු එහෙම ලොකුවට දාන්න වෙලාව නාස්ති කරන්න බෑ.. අනිත් එක කලින් දැම්මෙ ඔක්කොම programming language වලට පොදුවෙනෙ...

  • variable එකක් කියන්නෙ ram එකෙන් වෙන් කරගන්න memory space එකකට..
  • variable එකක් හදද්දි ප්‍රධාන කොටස් දෙකක් තියෙනවා..
  • පළවෙනි කොටසෙන් දෙන්නෙ data type එක
  • දෙවෙනි කොටසෙන් දෙන්නෙ අපිට ඒ variable එක අඳුරගන්න පුළුවන් වෙන විදියට දෙන name එක
  • variable එකකට value එකක් දාද්දි මුලින්ම data එක දාන්න ඕන variable එකේ නම ලියලා = ලකුණක් දාලා ඉස්සරහින් තමයි value එක දාන්නෙ..
  • මතක් වෙන්නත් එක්ක Integer variable එකක් x කියන නමින් හදලා ඒකට 5 දාන විදිය බලමු.

Data Types

කලින් variable ගැන කියද්දි data type එකක් කියන්නෙ මොකක්ද ඇයි variable එකක් හදද්දි data type එකක් ඕන වෙන්නෙ කියලා කියපු නිසා මම දැන් ආපහු ඒ ගැන කියන්න යන්නෙ නෑ. ඒක නිසා ඒකත් පොඩ්ඩක් බලාගන්න..

දැන් මම කියන්නම් java වල තියෙන data type මොනවද කියලා.. 
java වල data type 8ක් තියෙනවා. පොඩ්ඩක් ඒ ටික මතක තියාගන්න. මම මතක තියාගන්න ලේසි විදියක් කියන්නම්. ඉස්සෙල්ලම බලමු මොනවද data type 8 කියලා.

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean
දැන් තියෙන ප්‍රශ්නෙ කොහොමද මේවා මතක තියා ගන්නෙ කියන එක නේද? අපි ඒකට මෙහෙම කරමු. මේවා use කරන type එක අනුව group කරලා මතක තියාගමු. එතකොට ලේසි වෙයි..

පූර්ණ සංඛ්‍යා, ඒ කියන්නෙ integer තියාගන්න පුළුවන් data type 4ක් තියෙනවා.

  • byte
  • short
  • int
  • long
දශම සංඛ්‍යා, ඒ කියන්නෙ floating points තියාගන්න පුළුවන් data type 2ක් තියෙනවා..

  • float
  • double
ඊළඟට characters තියාගන්න එක data type එකක් තියෙනවා. මතක තියාගන්න මේ data type එකේ තියාගන්න පුළුවන් එක character එකක් විතරයි. එක අකුරකට වඩා තියාගන්න බෑ..

  • char
අන්තිමටම තියෙන්නෙ logic එකක්, ඒ කියන්නෙ true හරි false ද කියලා හරි තියාගන්න පුළුවන් data type එකක්..

  • boolean
දැන් ටිකක් හරි මතක තියාගන්න ලේසියි නේද? integers තියාගන්න පුළුවන් data type 4යි, floating point තියාගන්න data type 1යි, character වලට data type 1යි, logic වලට data type 1යි එකතු වෙලා තමයි java වල data type 8ක් ඇවිල්ලා තියෙන්නෙ..


දැන් කෙනෙක්ට හිතෙන්න පුළුවන් ඇයි integer වලයි floating point වලයි එකම type එකේ data දාන්න මෙහෙම data type ගොඩක් හදලා තියෙන්නෙ කියලා නේද? ඒකට හේතුවයි මොකක්ද මේ java වල තියෙන casting කියන එකයි, ඇයි casting කරන්න ඕන වෙන්නෙ කියන එකයි මම ඊළඟ Post එකෙන් කියලා දෙන්නම්..

අද දවසට තව ගොඩක් වැඩ කරන්න තියෙනවා.. එහෙනම් ඉක්මනටම ඊළඟ කොටසත් එක්ක හමුවෙමු.. මට පොඩි කනගාටුවක් තියෙනවා මේ blog එක බලන අය ගැන.. මම ලොකු කට්ටක් කාලා මේ වැඩේ කරන්නෙ. ඔයාලා දන්නෙ නැති වුනාට මට සමහර institute වලින් මේක නවත්තන්න කියලා සල්ලි දෙන්නත් හැදුවා. දන්නවනේ java course එකක් කරන්න 50,000ක් විතර යනවා කියලා? ඉගෙන ගන්න දේවල් විකුණන් කන එක නවත්තන්න ඕන නිසයි, දුප්පත් ළමයි ගැන හිතලයි මම මේක කරගෙන යන්නෙ.. එහෙම එකේ මට මේක තේරෙනවද නැද්ද කියලාවත් ඔයාලගෙ අදහස් එකතු කරන්නෙ නැති එක ගැන ඇත්තටම දුකයි මට.. comment කරන්න ඕන නෑ මට idea එකක් ගන්න පුළුවන් වෙන විදියට දාලා තියෙන මේ quick comment එකක් click කරන්නවත් ඔයාලගෙ වෙලාව ටිකක් වැය කරන්න කැමති නෑ කියලා දැනෙන කොට මට පුදුම දුකක් දැනෙන්නෙ... 


දැන් ඒවයින් වැඩක් නෑ. කියපුවා අමතක කරන්න හිතේ දුකට කිව්වෙ මොන ප්‍රශ්නෙ ආවත් දිගටම වැඩේ කරනවා.. ඊළඟ කොටසත් එක්ක ඉක්මනටම හමුවෙමු එහෙනම්..


මතුසම්බන්ධයි..

Friday, September 12, 2014

Java Part 4 ( run our java program )


How to Run our Java Program


java program එකක් run කරන විදිය කට පාඩම් කරනවට වඩා තේරුම් ගත්ත නම් කවදාවත් අමතක වෙන්නෙත් නෑ පැටලෙන්නෙත් නෑ. ඒක නිසා java program එකක් run කරන විදිය ඉගෙන ගන්න කලින් මුලින්ම Basic ටික අනිවාර්යෙන්ම බලන්න හොඳද..


Save Source Code

java කියන්නෙ සම්පූර්ණයෙන්ම code වලින්ම විතරක් ඕනම දෙයක් කරන්න පුළුවන් language එකක්. IDE use කරන්නෙ ලේසි වෙන්න විතරයි. ඒක නිසා අපි මුලින්ම hard coding වලින් ඉගෙන ගනිමු. ඒ කියන්නෙ normal editor එකක program ලියමු. එතකොට කොහොමත් IDE use කරලා program ලියන්න පුළුවන්. අපි ඒක නිසා අපේ වැඩේදි අපි windows වල තියෙන notepad එක use කරමු. 

දැන් එහෙනම් අපි notepad එක use කරලා මුලින්ම Hello World කියලා print කරන්න program එක ලියමුකො..


දැන් අපි මොකක් හරි නමක් දීලා එකේ අගට මේක java code එකක් නිසා ".java" කියලා දාලා මේක save කරගන්න ඕන .. මම Demo කියලා save කරන්නම්කො.. එතකොට මම save කරන file එකේ නම Demo.java කියලා තමයි එන්න ඕන..


ඔන්න එහෙනම් මම Desktop එකේ මම ලියපු මේ code එක Demo.java කියලා save කරගත්තා.. දැන් මම ප්‍රශ්නයක් අහන්නම්.. Source code එකක් කියන්නෙ මොකක්ද? ඇත්තටම source code එක කියන්නෙ අපි ලියන code එක තියන file එකනේ.. එහෙනම් මෙතනදි source code එක වෙන්නෙ Demo.java කියන file එක. හරි නේද? 


Compile Source Code

දැන් ඊළඟට මම අහන ප්‍රශ්නෙ තමයි Basic වලදි කිව්ව වගේ java වල ඉන්න compiler මේ source code එක compile කරලා හදන්නේ මොකක්ද? මතකයිනේ.. java compiler, source code එක compile කරලා හදන්නෙ byte code එක කියලා අතරමැදි අවස්ථාවකට. ඒ වගේම කට්ටියට මතකද දන්නෙ නෑ ඒ හදන Byte code එක හදන්නේ අපි program එකේදි class කියලා ලියලා ලියන class name එකෙන්මයි කියලා කිව්වා..

එහෙනම් අපි මේ source code එක compile කරාට පස්සෙ හැදෙන්න ඕන Example.class කියලා byte code එකක්.. ( අපේ program එකේ class name එක Example නිසා )

දැන් එහෙනම් බලමු අපි මේ program එක compile කරන්නෙ කොහොමද කියලා.. අපි ඒක කරන්නෙ අපේ terminal එක, (windows වලදි නම් command prompt එක) එහෙනම් මුලින්ම අපි command prompt එක open කරගන්න ඕන. ඒකට start වල cmd කියලා type කරලා search කරලා හරි start ----> run වලට ගිහින් එතන cmd ගහලා හරි open කරගන්න ඕන..


දැන් කට්ටියට පේනවා ඇති cmd එකේ අපිට default open වෙන්නෙ අපේ user account එක කියලා.. ඒත් අපේ source code එක තියෙන්නෙ desktop එකේ නිසා අපිට මුලින්ම desktop එකට යන්න වෙනවා.. ඒකට අවශ්‍ය වෙන ප්‍රධාන CMD commands 3ක් තියෙනවා. ඒ ටිකත් පොඩ්ඩක් මතක තියාගන්න.

  • අපිට folder එකක් අැතුලට යන්න ඕනනම් directory එක change වෙන නිසා change directory කියන එක කෙටි කරලා තමයි cd කියන command එක හදලා තියෙන්නෙ. folder එකක් ඇතුලට යන්න ඕනනම් cd කියලා ගහලා යන්න ඕන folder එකේ නම ගහලා enter කරන්න ඕන.. දැන් අපිට යන්න ඕන desktop එකට නිසා අපි ගහන්න ඕන cd desktop කියලා.
  • folder එකකින් ආපස්සට එන්න ඕනනම් කරන්න තියෙන්නෙ cd කියලා ගහලා නම වෙනුවට dot 2ක් ( cd .. ) ගහලා enter කරන එක..
  • අපිට folder එකක් ඇතුලෙ තියෙන directories ටික බලා ගන්න ඕනනම් directory කියන එක short කරලා එන dir කියලා ගහලා enter කරන්න ඕන..


දැන් එහෙනම් අපි අපේ source code එක තියෙන තැනට (desktop එකට) ගිහිල්ලා java compiler ට කියමු අපේ source code එක compiler කරලා දෙන්න කියලා. 

ඒකට කරන්න තියෙන්නෙ java compiler නිසා javac කියලා type කරලා space එකක් තියලා අපේ source code එකේ නම ලියලා enter කරන එක විතරයි.. මෙතනදි අපේ source code එකේ නම Demo.java නිසා අපි ලියන්න ඕන javac Demo.java කියලා..


මේ විදියට error එකක් ආවෙ නැතුව ආපහු අපේ location එක පෙන්නනවා නම් වැඩේ ගොඩ.. ඒ කියන්නෙ දැන් desktop එකේ අපි දීපු class name එකෙන් byte code එක හැදිලා ඇති. මෙතනදි නම් Example.class කියලා file එකක් හැදිලා ඇති. open කරලා බලන්නකො ඒක මොන වගේද කියලා..

හරි. දැන් අපි අපේ source code එක compile කරලා ඉවර නිසා දැන් තියෙන්නෙ run කරන්න. දැන් මම ප්‍රශ්නයක් අහන්නම්. Java වලදි run කරන්නෙ Source code එකද? Byte code එකද? run කරන්නෙ byte code එක නිසා run කරද්දි ලියන්න ඕන java කියලා ලියලා space එකක් තියලා Byte code එකේ නම. මෙතනදි නම විතරයි ලියන්නෙ. ".class" කියලා ලියන්නෙ නෑ. අපේ උදාහරණෙ හැටියට නම් java Example කියලා තමයි ලියවෙන්න ඕන..



Summary

  • directory එක change කරන්න cd (name)
  • ආපස්සට යන්න cd ..
  • directory list එක බලන්න dir
  • compile කරන්න ලියන්න ඕන javac (source code)
  • run කරන්න ලියන්න ඕන java (class name)

දැන් තව දෙයක් මතක තියාගන්න. අපි ගොඩක් වෙලාවට java වල source code එක save කරන්නෙ class එකට දෙන නමින්මයි. ඒකට හේතුව තමයි එතකොට වරදින්න තියෙන සම්භාවිතාවය අඩුයි. ඒ කියන්නෙ එතකොට ලියන්න තියෙන්නෙ,

  • javac Example.java
  • java Example
පේනවානෙ.. එකම විදිය නිසා ලේසියෙන් වරදින්නෙ නෑ. ඒ වගේම මතක තියා ගන්න සමහර වෙලාවට අපි class එකක් හදද්දි ඒකට ඉස්සරහින් public කියලා ලියනවා. ඒ කියන්නෙ public class එකක් හැදුවොතින් ඒක අනිවාර්යෙන්ම save කරන්න ඕන class name එකෙන්මයි..


එහෙනම් මොනවා හරි අවුලක් තිබුනොතින් අහන්න හොඳද.. අපි එහෙනම් ඊළඟ කොටසෙදි Java වල තියෙන data type ටිකයි ඒවා use කරලා variable හදලා ඒවා use කරන විදියයි බලමුකො..

Java Part 3 ( print anything )


How to print ANYTHING in JAVA


ගොඩක් දවසකින් අපේ කුප්පියට කොටසක් එකතු කරන්න බැරි වුනා. කොහෙද මේ campus වල මේ අළුත් semester system එක නිසා අපිව හැම පැත්තෙන්ම හිර කරලානෙ තියෙන්නෙ.. මේ වැඩේ නිසා ලංකාවේ අළුත් දේවල් හොයා ගන්නත් බැරි වෙනවා.. campus ළමයි වගේම lecturers ලත් හිරවෙලානෙ දැන්.. ඒක නිසා දෙගොල්ලොන්ටම research කරන්න වෙලාවක් නෑ.. ඒවට ඉතින් කරන්න දෙයක් නෑ. දැන් එහෙනම් පුළුවන් වුන වෙලාවෙ අපේ වැඩේ පටන් ගමුකො..

ඔන්න මම කලින් කියලා දුන්නා Java වල basic ටික. ඒක අතෑරලා නම් වෙන කිසිම දෙයක් අල්ලගන්න හිතන්නවත් එපා. basic නැතුව ඉගෙන ගන්න කිසිම දේක වැඩක් නෑ.. ඒක නිසා ඒ ටික කාටහරි බලන්න බැරි වුනානම් මෙතනින් ගිහින් ඒක බලලාම එන්නකෝ..


Print()

මුලින්ම බලමු මේ print කරනවා කියන්නෙ මොකක්ද කියලා. ඇත්තටම programming වලදි print කරනවා කියන්නෙ printer එකක් use කරලා A4 කොලයක් print කරන එකනම් නෙවෙයි.. එහෙනම් මොකක්ද මේ programming වලදි print කරනවා කියන්නෙ? program වලදි print කරනවා කියන්නෙ මොකක් හරි දෙයක් terminal එකේ ලියන එකට.. terminal එක කියන්නෙ windows වල තියෙන command prompt (cmd) එකටමයි. linux වලදි තමයි command prompt එකට terminal එක කියලා කියන්නෙ. ඉතින් ගොඩක් Programmers ලා linux use කරන නිසා තමයි හැම තිස්සෙම terminal එක කියලම කියන්නෙ..

හරි දැන් අපි බලමු java program එකකින් කොහොමද අපේ නම print කරන්නෙ කියලා..


මෙන්න මේ තියෙන code එකෙන් තමයි අපිට ඕන කරන දෙයක් terminal එකේ print කරන්න තියෙන්නෙ..
මෙතන හොඳට මතක තියාගන්න System කියන වචනෙ පළවෙනි අකුර, ඒ කියන්නෙ S capital වලින් තියෙන්න ඕන. අනිත් ඔක්කොම අකුරු simple. එහෙම නැති වුනොත් error එකක් දෙනවා හොඳද.. ඒක නිසා ඒක අමතක කරන්න එපා. දැනට පොඩ්ඩක් මතක තියාගන්න ඉස්සරහට මේ හැම code එකක්ම ඔයාලටම තේරුම් ගන්න පුළුවන් වෙයි.. :-)

දැන් කවුරු හරි මගෙන් අහන්න පුළුවන් අපේ නම, ඒ කියන්නෙ අපිට print කරන්න ඕන දේ කොහේද ලියන්න ඕන කියලා. මේකෙ අපිට ලියන්න ඕන දේවල් ලියන්න තියෙන්නෙ print කියන එකේ වරහන ඇතුලේ තියෙන double quota ("") ඇතුලේ. හොඳට මතක තියාගන්න මේ double quota ඇතුලෙ ලියන ඕනම දෙයක් ඒ විදියටම terminal එකේ print වෙනවා.. ඒ වගේම කලින් BASIC වලදි කිව්වා වගේ මේ හැම code එකක්ම ලියන්න ඕන main method එක ඇතුලේ..

දැන් එහෙනම් අපි බලමු "Hello World" කියලා print කරන්නෙ කොහොමද කියලා..


Example කියන class එකක් හදලා, ඒක ඇතුලෙ main method එක හදලා ඒක ඇතුලේ අපිට Hello World කියලා print කරන්න ඕන නිසා System.out.print("Hello World"); කියලා ලියලා තියෙනවා. මෙතනදි මම කලින් කිව්වා වගේ print කියන method එකේ "" ඇතුලෙ ලියන ඕනම දෙයක් print වෙන නිසා Hello කියලා print වෙලා ඒකෙ තියෙන space එකත් print වෙලා තමයි World කියලා print වෙන්නෙ. 


println()

දැන් අපිට ඕනම දෙයක් print කරගන්න පුළුවන්නෙ.. හැබැයි පොඩි ප්‍රශ්නයක් තියෙනවා. අපිට Hello World කියලා මුල් පේළියෙ print කරලා ඊළඟ එකේ Sri Lanka කියලා print කරන්න ඕන වුනා කියලා හිතන්නකො.. අපි code එක ලියලාම බලමුකො.


මෙහෙම මුලින්ම Hello World කියලා print කරලා ඊළඟ line එකේදි Sri Lanka කියලා print කරාට output එක එන්නෙ මෙන්න මේ විදියට..


දැක්කද? හිතුව දේ වුනේ නෑ නේද? ඒකට හේතුව තමයි මේ print() method එකේදි කරන්නෙ ඒකෙ double quota ඇතුලෙ දෙන දේවල් එහෙමම print කරලා ඒ ඉවර වුන තැනින්ම cursor එක තියාගන්න එක. එතකොට ආපහු පාරක් print() method එක run වෙද්දි අන්තිමට cursor එක තියෙන තැන ඉඳන් print කරන නිසා තමයි Hello World ඉවර වුන තැනින්ම Sri Lanka කියලත් print වෙලා තියෙන්නෙ. එහෙනම් අපි කරන්න ඕන දේ තමයි Hello World කියලා print වුනාට පස්සෙ cursor එක අළුත් line එකකට යවන එක.

දැන් බලමු කොහොමද එකක් print වෙලා ඉවර වුනාම cursor එක අළුත් line එකකට යවන්නෙ කියලා.. මේ print method එක ඇතුලෙදි back slash එකත් එක්ක ( \ ) n අකුර දුන්නොත් අන්න එහෙම තියෙන තැනදි cursor එක new line එකකට යනවා.. එහෙනම් අපිට දැන් කරන්න තියෙන්නෙ Hello World කියලා print වෙලා ඉවර වුනාට පස්සෙ \n කියලා ලියලා cursor එක අළුත් line එකකට යවන එක. දැන් අපි එහෙනම් ඒකත් කරලා බලමුකො..


දැන් අපි Hello World ඉවර වුනාට පස්සෙ \n දීලා තියෙන නිසා Hello World කියලා print කරලා cursor එක අළුත් line එකකට යවන නිසා අළුත් line එකක තමයි Sri Lanka කියලා print වෙන්නෙ. එහෙනම් අපේ වැඩේ හරි නේද? 

දැන් යම් දෙයක් print කරලා ඉවර වුනාම අළුත් line එකකට යන්න ඕනනම් හැමතිස්සෙම මෙහෙම \n දෙන එක කරදර නිසා java වලදි ඒකටත් code එකක් දීලා තියෙනවා.


මේකෙ තියෙන එකම වෙනස print කියන එකෙන් පස්සෙ ln කියලා තියෙන එක විතරයි. ඒ කියන්නෙ අපිට අළුත් line එකකට යන්න ඕනනම් කරන්න තියෙන්නෙ print එකේ අවසානෙට \n දාන එක වෙනුවට println method එක use කරන එක විතරයි..

ආ.... මාර වැඩේනේ මට Java Program එකක් ලියන විදිය කියලා දුන්නට ඒක run කරන විදිය කියලා දෙන්න බැරිවුනානෙ... එහෙනම් මෙතනින් ගිහින් කොහොමද java program එකක් compile කරලා run කරන්නෙ කියලා බලාගන්නකො..


එහෙනම් හැමෝටම java use කරලා ඕනම දෙයක් print කරන්න පුළුවන් කියලා හිතනවා. මොනවා හරි අවුලක් තිබුනොතින් අහන්න හොඳද.. අපි එහෙනම් ඊළඟ කොටසෙදි Java වල තියෙන data type ටිකයි ඒවා use කරලා variable හදලා ඒවා use කරන විදියයි බලමුකො..

Tuesday, August 26, 2014

Java Part 2 ( java basics )


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 කරවන්න පුළුවන්නේ..  :-)


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 කරන්නෙ කියලා බලමුකො..



Monday, August 18, 2014

Java Part 1 ( get ready for code )

Install java JDK and set JAVA path

ඔන්න එහෙනම් කට්ටියම බලාගෙන හිටිය java kuppiya පටන් ගන්න තමයි අපි දැන් මේ set වෙන්නෙ.. මුලින්ම මට කලින් කියපු දෙයක් ආපහු මතක් කරලා දෙන්න ඕන. programming වලට ආස නම් codings කට පාඩම් කරන්න යන්න එපා. කවදාවත් program එකක් ගහන්න බැරි වෙයි. හිතන විදියයි පුරුදු වෙන්න ඕන, එතකොට ඕනම programming language එකක් ඉක්මනින්ම අල්ල ගන්නත් පුළුවන් වෙනවා.. (මරුනේ..) 


හරි එහෙනම් දැන් වැඩේට බහිමු. මුලින්ම java ඉගෙන ගන්න කලින් අපිට java program එකක් ගහන්න පුළුවන් වෙන විදියට අපේ Machine එක හදාගන්න ඕන. ඒකට java වල තියෙන development kit එක, JDK (java development kit) එක දාගන්න ඕන.

Friday, August 1, 2014

Programming in Sinhala ( Summary )

පහසුවෙන් Programming ඉගෙන ගනිමු. ( අවසාන කොටස )




ඔයාලා නොදන්නවා වුනාට මාව මේ විදියට හදපු මගේ තාත්තා නැතිවෙලා අවුරුද්දෙ දානෙ තිබුනෙ මේ මාසෙ.. ඒකෙ වැඩයි, end exam එකයි නිසා මාසෙකින් විතර අපේ කුප්පිය වෙනුවෙන් මට මුකුත් කරගන්න බැරි වුනා. මොකද මම අමතර වැඩ කලාට academic කරේම නෑ වගේ නිසා මේ දවස් වල ඒවට ටිකක් මහන්සි වෙන්න වුනා. ඊටත් වඩා අපේ campus එකේ අයට කුප්පි ටික දාල දෙන්නත් ඕනනේ.. exam අතර මග free දවසක් ආපු නිසා අද මම post එකක් දාන්න කියලා හිතාගෙන තමයි ආවෙ..

Thursday, July 3, 2014

Programming in Sinhala (part 7)


පහසුවෙන් Programming ඉගෙන ගනිමු. ( හත්වන කොටස )


ගොඩක් campus වල exam ළඟ නිසා ඉක්මනට කුප්පියෙ ඉතිරි කොටස් ටිකත් දෙන්න කියලා ඉල්ලපු නිසාම ඔන්න මේ සැරේ කොහොම හරි වෙලාව හදාගෙන ඉක්මනටම තව කොටසක් දාන්න තීරණය කළා.. exam ගැනත් කතා කරපු නිසා අද මම හිතාගත්තා ගොඩක්ම වටින වගේම කට්ටියට ගොඩක්ම අමාරු වෙන මේ loops ගැන කියලා දෙන්න ඕන කියලා.. loops වර්ග 3ක් තියෙනවා. අපි එහෙනම් බලමුකො ඒ 3 මොනවද කියලා සහ ඒවයින් වෙන්නෙ මොනවද කියලා..

මුලින්ම මම කියන්නම් loop එකක් කියන්නෙ මොකක්ද කියලා. ඇත්තටම loop එකක් කියන්නේ කිසියම් දෙයක් නැවත නැවතත් සිදු කිරීමක් කියලා කිව්වොත් හරි කියලා මට හිතෙනවා.. ඒ කියන්නෙ එකම දෙයක් වාර ගණනක් සිදු වෙන ක්‍රියාවලිය loop එකක් කියලා අදහස් කරන්න පුළුවන්. ඉතිං අපිට මේ loop එකක් අවශ්‍ය වෙන්නෙ මොන වගේ වෙලාවල් වලටද?

loop එකක් ඕන වෙන්නෙ අපේ program එකේ කොහේ හරි එකම වගේ code ටිකක් නැවත නැවතත් යෙදෙනව නම් අපි එහෙම copy paste කර කර දාන එක ඇත්තටම තේරුමක් නැති වැඩක්නේ.. ඉතිං අපිට පුළුවන් ඒ වගේ වෙලාවල් වලට ඒ code ටික එකතු කරලා ඒ අවශ්‍ය වාර ගානට loop කරවන්න.. එතකොට code එක ලියවෙන්නෙ එක සැරයක් නිසා පැහැදිලියි වගේම තේරුම් ගන්නත් පහසු වෙනවා.. ඇත්තටම මේවා අමාරු නෑ හරියටම වෙන්නෙ මොනවද කියලා තේරුම් ගත්තොත්.. 

නිකමට හිතලා බලන්නකෝ අපිට "Hello World" කියලා print කරන්න ඕන වුනොත් printf("Hello World"); කියලා ලියලා print කරන්න පුළුවන්නේ.. දැන් මෙහෙම 10 පාරක් print කරන්න ඕන වුනොත් මේ code එක 10 පාරක් ලියන්න වෙනවානේ.. (ඕක මොකක්ද copy paste කරන එකනේ නේද?) ලේසියි කියලා හිතුවට හිතලා බලන්න වාර 10000 ක් print කරන්න ඕන වුනොත් ගණන් කර කර 10000 ක් copy paste කරලා හරි දාන එක ලේසි වෙයිද? අන්න ඒක නිසයි අපිට loop එකක් අවශ්‍ය වෙන්නේ.. ඒකෙන් අපිට පුළුවන් print වෙන code එක එක පාරක් ලියලා ඒක 10000 පාරක් run කරවන්න කියලා කියන්න... දැන් loop එකක් අවශ්‍ය වෙන්නෙ ඇයි කියලා පොඩි අදහසක් හරි තියෙනවා නේද? දැන් එහෙනම් අපි මේ loop වර්ග 3 ගැන බලමු..

Contact Form

Name

Email *

Message *