Skip to main content

Variables සහ Data Types ( 1 කොටස )

ඔන්න පොරොන්දු වුනා වගේම Data Types ගැන පාඩම අද ඉදිරිපත් කරනවා.

Data types කියන්නේ මොනවද කියල විස්තර කරන්න කලින් මෙන්න මේ පොඩි ප්‍රෝග්‍රෑම් එක ක්‍රියාත්මක කරලා බලන්න. මේ code එක Notepad එකට copy කරලා, මම කියල දුන්නු විදියට cmd එකෙන් compile කරලා run කරලා බලන්න.

class Test{  
     public static void main(String args[]){  
          byte b = 10; 
          short s = 20;  
          int i = 30;  
          long l = 40;  
          double d = 34.5;  
          float f = 55.456f;  
          char c = 'x';  
          boolean bool = true;  
   
          System.out.println(b);  
          System.out.println(s);  
          System.out.println(i);  
          System.out.println(l);  
          System.out.println(d);  
          System.out.println(f);  
          System.out.println(c);  
          System.out.println(bool);  
     }  
}  
මේ code එක run කලාම පහත දැක්වෙන විදියේ ප්‍රතිපලයක් ලැබේවි.


වැඩසටහනේ අන්තිම පේලි ටිකනම් ටිකක් වැටහෙනවා ඇති. නමුත්,
  byte b = 10;
  short s = 20;
  int i = 30;
  long l = 40;
  double d = 34.5;
  float f = 55.456f;
  char c = 'x';
  boolean bool = true
කියන පේලි ගැන ඇති වුනේ ගැටළුවක් නේද?


මේ මොනවද, මොකටද භාවිතා කරන්නේ කියල අපි දැන් බලමු. 

මේ පේලි 8හිම මුල් වචන අපි කලින් පාඩමකදී ඉගෙන ගත්ත java keywords ලැයිස්තුවේ අන්තර්ගතයි. byte, short, int, long, double, float, char සහ boolean කියන වචන වලින් හඳුන්වන්නේ java වල data types. ඉහත සඳහන් පේලි වලින් සිදු කරලා තියෙන්නේ ඒ ඒ data type එකෙන් variable declare කිරීම සහ ඒ variable එක initialize කිරීමයි. පහලින් තිබෙන System.out.println(); කියන පේලි වලින් කරලා තිබෙන්නේ වැඩසටහනේ ඉහල පේලි වල තිබෙන variable වල අන්තර්ගතය cmd එකේ පෙන්වීමයි.

  • Variables?
අපේ වැඩසටහන ක්‍රියාත්මක වෙන වෙලාවේදී අවශ්‍ය වෙන විවිද දත්ත, තාවකාලිකව RAM මතකය තුල වෙන් කර ගත් ඉඩක ගබඩා කර තබා ගන්නවා. මෙලෙස වෙන් කර ගත් ඉඩක් variable එකක්, එහෙමත් නැතිනම් විචල්‍යයක් ලෙස හඳුන්වනවා.
  • Variable declaration
වැඩසටහන තුල variable එකක් නම් කිරීම, සෑදීම මේ නමින් හඳුන්වනවා.
  • Variable initializing
නම් කරගත් variable එකකට අගයක් ආදේශ කිරීම.
  • Data types?
ඉහත වැඩසටහනේ short, int, long, double, float, char සහ boolean කියන වචන වලින් හැඳින්නුවේ java වල ප්‍රධානම data types අට. මේවාට Primitive Data Types කියලත් කියනවා. අපි භාවිතා කරන variable වල ගබඩා කරන්නේ කුමන වර්ගයේ දත්තද කියන එක විස්තර කරන්න මේ keywords භාවිතා කරනවා.

short, int, long, double, float, char සහ boolean කියන data type වලින් declare කරන variable තුල ගබඩා කරන දත්ත වර්ගය අනුව මෙම data types නැවත කොටස් 4කට බෙදෙනවා. ඒ වගේම මේ එක් එක් data type වලින් declare කරන variable වලට වෙන වෙනම RAM එකෙන් වෙන් කර ගන්න ඉඩ ප්‍රමාණයත් එකිනෙකට වෙනස්.
මේ කරුණත් මතක් කර ගන්න.
  • පරිගනකයක මතක ධාරිතාව මැනීමේ කුඩාම ඒකකය bit වේ.
  • 8 bit = 1 byte
  • 1024 bytes = 1 kilo byte (KB)
  • 1024 KB = 1 mega byte (MB)
  • 1024 MB = 1 giga byte (GB)
  • 1024 GB = 1 tera byte(TB)

  1. Integers - මේ වර්ගයේ variable වල ගබඩා කල හැක්කේ පූර්ණ සංඛ්‍යා පමණයි.
    • byte
    • short
    • int
    • long
  2. Floating Points - මේ වර්ගයේ variable වල පූර්ණ සංඛ්‍යා මෙන්ම දශම සංඛ්යාද ගබඩා කල හැකියි.
    • float
    • double
  3. Characters - මෙම data type එකෙහි එක් වරකට එක් සංඛේතයක් පමණක් ගබඩා කල හැකියි.
    • char
  4. Boolean - boolean වර්ගයේ variable එකක සත්‍ය/අසත්‍ය (true/false) තර්ක 2න් එකක් වරකදී ගබඩා කර තැබිය හැකියි.
    • boolean
Data Type RAM එකේ වෙන් කර ගන්නා ඉඩ ගබඩා කල හැකි දත්ත පරාසය
byte 8 bits -128 සිට 127 දක්වා
short 16 bits -32,768 සිට 32,767 දක්වා
int 32 bits -231 සිට 231-1 දක්වා
long 64 bits -263 සිට 263-1 දක්වා
float 32 bits floatහි පරාසය පිලිබඳ වටහා දීම මෙම පාඩමේ සීමාවෙන් ඔබ්බට ගිය එකකි.
double 64 bits doubleහි පරාසය පිලිබඳ වටහා දීම මෙම පාඩමේ සීමාවෙන් ඔබ්බට ගිය එකකි.
char 16 bits '\u0000' (හෝ 0) සහ '\uffff' (හෝ 65,535 ඇතුලත්ව) අතර ඇති ඕනෑම UNICODE සංඛේතයක්.
boolean 1 bit true හෝ false (සත්‍ය වශයෙන් 1 හෝ 0) අගයන් 2න් එකක්

(මේ වගුවේ තියෙන දේවල් බොහෝ විට තේරුම් නොයන්න පුළුවන්. ඒකට කමක් නෑ. අපි ඉදිරියේදී කරන පාඩම් වලදී මේ data types ප්‍රයෝගිකව භාවිතා කරනකොට data types සහ variable ගැන හොඳ වැටහීමක් ලැබේවි.)

විවිදාකාර data types තිබීමට හේතුව කුමක්ද? හිතට මේ ප්‍රශ්නය අවේ නැතිනම් ඔබ මේ පාඩම උවමනාවෙන් කියවල නෑ. :D
හරි. මම දැන් සාමාන්‍ය ජීවිතයට එන්නම්. Variable ගැන සාමාන්‍ය ජීවිතයේදී අපිට හමු වන දේවල් ඇසුරින් පහදලා දෙන්නම්.
මම කියනවා, variable එකක් කියන්නේ container එකක් වගේ දෙයක් කියල. Container කිවුවම මතක් වුනේ....
 මේ වගේ එකක් ගැන නේද? මේකත් container එකක් තමයි. ඒ වගේමයි....

මේ තියෙන්නෙත් container වර්ගයක්. එක් එක් වර්ගයේ ද්‍රව්‍ය බහාලන්න භාවිතා කරන container එක එහෙමත් නැතිනම් බහාලුම, ඒ ඒ ද්‍රව්‍යයේ හැටියට වෙනස් වෙනවා. මේ කරණය Java වලටත් අදාලයි. අපි ගබඩා කරන දත්ත වර්ගය අනුව variable වල data type එකත් වෙනස් වෙනවා. මේ නිසයි Java භාශාව අපිට එකිනෙකට වෙනස් data type ලබා දීල තියෙන්නේ.
නමුත් ඇයි එකම වර්ගයේ data ගබඩා කර ගන්න පුළුවන්, නමුත් විශාලත්වයෙන් වෙනස් data types තියෙන්නේ? උදාහරණයක් හැටියට පූර්ණ සංඛ්‍යා ගබඩා කර ගන්න byte, short, int සහ long කියල data types 4ක් මොකටද?
ඒ ගැන මං මෙහෙම පහදන්නම්. මොහොතකට හිතන්න අපේ Java වැඩසටහන පොඩි නගරයක්. ඒකෙ තියෙන එක පොඩි ගෙදරක, එක කාමරයක ඉන්නේ ඔයා විතරයි. එහෙමනම් ඔයා බොන්න ඕන කරන වතුර තියා ගන්නේ කොහොමද?
මේ වගේ ජෝගුවක හෝ වීදුරු කෝප්පයක නේද?
නමුත් ඔයා කාමරෙන් පිටවී පොඩි ගමනක් යන විට වතුර අරන් යන්නේ කොහොමද?
මේ වගේ බෝතලයක නේද? එහෙම ගමනක් යන ඔයා, මගදී ඇතුල් වෙන කාර්යාලයක වතුර පිරිසිදු කරන යන්ත්‍රයක මේ වගේ වතුර බෝතලයකුත් තියෙනෙව දැකල තියේද?
එහෙම ඇවිදගෙන යනකොට ඔයාට හමු වෙනවා මුළු නගරයටම අවශ්‍ය වතුර ගබඩා කරලා තියාගන්න තැන...

මේ හැම තැනකදීම ඔබ දැකපු විශේෂත්වයක් තිබුන නේද? ඒ තමයි අපි විවිද  ක්‍රම වලින්, විවිද ප්‍රමාණයේ containers භාවිතා කරලා ගබඩා කරලා තියා ගත්තේ එකම විදියට හැසිරෙන වතුර. නමුත් වෙනස වුනේ ඒ ඒ අවස්ථාවේ කුමන කාර්යයකටද ඒ වතුර උවමනා වුනේ කියන එකයි. Java වලදීත්, එකම data වර්ගය වුනත් අදාල අවස්ථාවේදී ඒ data භාවිතා කරන කාර්යය අනුව ගබඩා කිරීමට අවශ්‍ය වෙන data type එකේ විශාලත්වය වෙනස් විය හැකියි. කාමරේ ඉන්න ඔබට බීමට අවශ්‍ය වතුර ටික තබා ගන්න විශාල ජල ටැංකියක් අවශ්‍ය නෑ නේද? ඒ වගේම Java වලත් කුඩා දත්ත ගබඩා කිරීමට RAM එකෙන් කුඩා ඉඩක් වෙන් කර ගන්න data type මෙන්ම විශාල දත්ත ගබඩා කර ගන්න RAM එකේ වැඩි ඉඩක් වෙන් කර දෙන data types හඳුන්වා දී තිබෙනවා.
Variable සහ data type ගැන යම් වැටහීමක් ලැබෙන්නට ඇති කියල විශ්වාස කරනවා. ඒ වගේම ගොඩාක් ගැටලුත් ඇති වෙන්න ඇති. මේ පාඩම ඉදිරිපත් කරන්නේ කොහොමද කියල හිතා ගන්න බැරුව හිටියේ. ඒ වගේම පාඩම ඉදිරිපත් කරපු විදිය ගැන මගේ හිතේ සෑහීමකුත් නෑ. එකයි පාඩම කොටස් 2කින් ඉදිරිපත් කරන්න තීරණය කලේ. පළමු කොටසේදී ඔබට ඇති වුනු ගැටළු සහ, මගේ පැත්තෙන් නිවැරිදි වෙන්න ඕනි කරුනු තියෙනම් ඉදිරිපත් කරන්න. ඒ දේවලුත් එක්ක මේ පාඩමේ ඉතිරි කොටස මීටත් වඩා හොඳින් ඉදිරිපත් කරන්නම්.
ඒ වගේම තව සුළු මොහොතකින් උදා වන සිංහල දෙමල අළුත් අවුරුද්ද සියලුම ලෝක වාසී ජනයාට සතුට සෞභාග්‍ය උතුරන අළුත් අවුරුද්දක් වේවා කියලත් ප්‍රර්ථනා කරනවා.

Comments

Popular posts from this blog

JVM (Java Virtual Machine) ගැන මූලික අවබෝධයක්

ටික දවසකට පස්සේ ඔන්‍න‍ තවත් පාඩමක් අරන් ආවා. :) කලින් පාඩම අවසානයේදී මං කිවුව වගේම ජාවා වැඩසටහනක් පරිගණකයේදී ක්‍රියාත්මක වෙන්නේ කොහොමද කියල පැහැදිලි කරන්නයි මේ සූදානම. මං හිතනවා මේ හැමෝම Operating System, එහෙමත් නැත්නම් මෙහෙයුම් පද්ධති කියන දේ දන්නවා කියල... උදාහරණයක් විදියට, Windows XP, Windows Vista, Windows 7, Windows 8, Mac OSX, Ubuntu, Solaris, Android වගේ නම් වලින් අපි අහල දැනගෙන තියෙන්නේ මෙහෙයුම් පද්ධති කිහිපයක්. මේ මෙහෙයුම් පද්ධති බොහොමයක් පරිගනකයකදී ක්‍රියාත්මක වෙන්නේ එකිනෙකට වෙනස් ආකාර වලින්. ඒ වගේමයි ඒවා තුල ක්‍රියාත්මක කල හැකි මෘදුකාංගත් එකිනෙකට වෙනස්. මේ නිසාම බොහොමයක් මෘදුකාංග නිපදවන්නන්ට සිදු වෙලා තියෙනවා ඒ ඒ මෙහෙයුම් පද්ධතියට සරිලන විදියට එකම මෘදුකාංගය වෙන වෙනම කේත කරන්නට. නමුත් ජාවා පරිගණක භාෂාව භාවිතයෙන් නිපදවන මෘදුකාංග වලට මේ ගැටළුව උත්ගත වෙන්නේ නැහැ! ජාවා මේ තරම් විශේෂ වෙන්න මේකත් එක් හේතුවක්. මුල් පාඩම් වලදී මං සඳහන් කල විදියට, පරිගණකයක් හඳුනන්නේ 1 සහ 0 පමණයි. හරියටම කිවුවොත් අදාල අවස්ථාවේදී පරිගණකයේ පරිපථ හරහා විදුලිය ගමන් කරනවද නැද්ද කියන එක තම...

ලිනක්ස් මෙහෙයුම් පද්ධතියක Java Development Kit (JDK) install කරන විදිය

ලිනක්ස් පාදක මෙහෙයුම් පද්ධති කියන්නේ අද ලෝකයේ දියුණුම සහ වේගයෙන්ම දියුණු වන මෙහෙයුම් පද්ධතියි. ඒ වගේම ඒ සෑම මෙහෙයුම් පද්ධතියක්ම වාගේ නොමිලේ ලබාගන්නට හැකියාව තිබෙනවා. නමුත් බොහොමයක් පරිගණක බාවිතා කරන්නන් ලිනක්ස් පාදක මෙහෙයුම් පද්ධති බවිත නොකරන්නේ, මේ මෙහෙයුම් පද්ධති තුල සමහර මෘදුකාංග ස්ථාපනය කිරීම වින්ඩෝස් පරිගණක වල තරම් පහසු නැති නිසායි. නමුත් ලෝකයේ පරිගණක ක්‍රමලේඛ ශිල්පීන්ගේ ප්‍රියතම මෙහෙයුම් පද්ධතිය බවට ලිනක්ස් පාදක මෙහෙයුම් පද්ධති පත්ව තිබෙනවා. එයට ප්‍රධානම හේතුවනම් ලිනක්ස් පාදක මෙහෙයුම් පද්ධති වල ඇති කාර්යක්ෂමතාවයයි. ලිනක්ස් පාදක මෙහෙයුම් පද්ධති බාවිතා කරන අයට Java Development Kit (JDK) ස්ථාපනය කර ගන්නා අයුරු මේ ලිපියෙන් කියල දෙන්නම්. (ලිනක්ස් පාදක මෙහෙයුම් පද්ධති ආශ්‍රිතව ඇති වන ඕනෑම ගැටළුවක් Linux Warriors  community එකේ පොස්ට් කරන්න. ඔබට නිසැකවම පිළිතුරක් ලැබේවි) ලිනක්ස් මෙහෙයුම් පද්ධතියක Java install කරන විදිය මුලින්ම ඔබේ පරිගණකයේ processor architecture එක (32-bit, 64-bit) දැන ගමු. මේ සඳහා මුලින්ම ලිනක්ස් terminal එක open කරලා,  file /sbin/...