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

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



?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 TypeRAM එකේ වෙන් කර ගන්නා ඉඩගබඩා කල හැකි දත්ත පරාසය
byte8 bits-128 සිට 127 දක්වා
short16 bits-32,768 සිට 32,767 දක්වා
int32 bits-231 සිට 231-1 දක්වා
long64 bits-263 සිට 263-1 දක්වා
float32 bitsfloatහි පරාසය පිලිබඳ වටහා දීම මෙම පාඩමේ සීමාවෙන් ඔබ්බට ගිය එකකි.
double64 bitsdoubleහි පරාසය පිලිබඳ වටහා දීම මෙම පාඩමේ සීමාවෙන් ඔබ්බට ගිය එකකි.
char16 bits'\u0000' (හෝ 0) සහ '\uffff' (හෝ 65,535 ඇතුලත්ව) අතර ඇති ඕනෑම UNICODE සංඛේතයක්.
boolean1 bittrue හෝ 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කින් ඉදිරිපත් කරන්න තීරණය කලේ. පළමු කොටසේදී ඔබට ඇති වුනු ගැටළු සහ, මගේ පැත්තෙන් නිවැරිදි වෙන්න ඕනි කරුනු තියෙනම් ඉදිරිපත් කරන්න. ඒ දේවලුත් එක්ක මේ පාඩමේ ඉතිරි කොටස මීටත් වඩා හොඳින් ඉදිරිපත් කරන්නම්.
Amazin
Powered by Blogger.