Pages - Menu

Sunday, July 28, 2013

J2SE - 03.1 Data Types - Integers

හොඳයි.අද අපි අලුත් කොටසකට යන්න හදන්නේ.ඒ තමා  Data Types.දැනටමත්  ඔයාල දන්නවා වේරියබල් එකකට ඩේටාටයිප් එකක් තියෙනවා.ඒවගේම අපි method calling වලදී(මේ ගැන ඉස්සරහට බලමු),පැරාමීටර් පාස් කරද්දී(මේ ගැනත් ඉස්සරහට බලමු) පවා අපි දීල තියෙන ඩේටාටයිප් එක චෙක් කරලා බලනවා.ජාවා කම්පයිලර් සෑහෙන අවධානෙකින් ඉන්නේ අපි දෙන ඩේටාටයිප් ගැන.පොඩ්ඩක් එහෙ මෙහෙ වුනොත් එයා අපිට errors දෙනවා.අපේ ප්‍රෝග්‍රෑම් එක කම්පයිල් කරගන්න බැරි වෙනවා.ඒ  හන්දා කම්පයිල එයාගේ වැඩේ කරන්න කලින් අපි දීල තියෙන ඩේටා ටයිප් හරියට දීල තියෙනවද කියල අපිට බලන්න වෙනවා.ඒ කියන්නේ ජාවා වල අපි සලකා බැලිය යුතු දරුණුම මූලික කොටසක්‌ තමා මේ ඩේටාටයිප්ස් කියන්නේ.

ජාවා වල සිම්පල් ඩේටාටයිප් 08 ක් ගැන කතා කරනවා.ඒවා තමා 


  1. byte(බයිට්)
  2. short(ෂෝට්)
  3. int(ඉන්ට්)
  4. long(ලෝන්ග්)
  5. char(චා)
  6. float(ෆ්ලෝට්)
  7. double(ඩබල්)
  8. boolean(බූලියන්)

මෙන්න  මේ කියන සිම්පල් ඩේටාටයිප් 08 අපි ප්‍රධාන කොටස් 04 කට දානවා.ඒවා තමා.

1. Integers              -  byte, short, int, long
2. Floating-Point    -  float, double
3. Characters         -  char
4. Boolean              -  boolean

මෙන්න මේ කියන ඩේටාටයිප්ස් ඔයාලට යොදා ගන්න පුළුවන් විවිද වැඩ වලදී.මතක තියාගන්න අපි මේ සිම්පල් ඩේටාටයිප්ස් යොදාගන්නේ single values-තනි අගයන්ට.නැතුව ඔබ්ජෙක්ට්ස් හදද්දී එහෙම නෙවේ.ජාවා කියන්නේ object oriented-වස්තු මූලික කරගත් පරිගණක භාෂාවක්තමයි.හැබැයි සිම්පල් ඩේටාටයිප්ස් එහෙම නෑ.ඒවා අපි non-object oriented පරිගණක භාෂා වලදී පවා යොදාගන්නවා.සිම්පල් ඩේටාටයිප්ස් ඔබ්ජෙච්ට්ස් වල අස්සට දාගත්තොත් වෙන්නේ අපේ ප්‍රෝග්‍රෑම් වල කාර්යක්ෂමතාව අඩු වෙන එක.
ජාවා වල අපි මේ කතා කරන ඩේටාටයිප්ස් වලට range-රේන්ජ් එකක් තියෙනවා.ඒ කියන්නේ එයාලට පරාසයක් තියෙනවා.උදාහරණයක් ගත්තොත් int වලට 32 bit පරාසයක් තියෙන්නේ.ඒ කියන්නේ 02 හි 32 වන බලයට සමාන අගයක් වෙනකන් එයාගේ පරාසයක් තියෙනවා.එහෙනම් මුලින්  කියන්නේ Integers ගැන.ඉතුරුවා ඊළඟ ලිපියෙන් එනවා.එහෙනම් පටන්ගමු දැන්.


1. Integers    

Integers වලට අදාලව අපි කතා කරනවා  byte, short, int, long කියන සිම්පල් ඩේටාටයිප්ස්.ඒවගේම ජාවා positive-ධනාත්මක හා negative-රිනාත්මක සංඛ්‍යා දෙවර්ගය ගැනම කතා කරනවා.දැන් අපි බලමු අපි මේ කතා කරන සිම්පල් ඩේටාටයිප් වල පරාසයන්.

දැන් අපි වෙන වෙනම මේ සිම්පල් ඩේටාටයිප්ස් ගැන බලමු.මේ ටික ගැන හොඳ මතකයක් තියෙන එක සුපිරි ප්‍රෝග්‍රෑමර් කෙනෙක්ට අනිවාර්යෙන් තිබිය යුතු දෙයක්.

byte

මේක තමා පොඩිම Integer ආකාරය.08-bit ආකාරයේ වෙනවා.මේ සිම්පල් ඩේටාටයිප් එක වැදගත් වෙනවා අපිට නෙට්වර්ක් එකක හෝ ෆයිල් එකක ඩේටා ප්‍රවාහයක් එක්ක වැඩ කරද්දී.අපි මේ සිම්පල් ඩේටාටයිප් එක යොදා ගනිද්දී byte කිවර්ඩ් එක යොදා ගන්නවා.කිවර්ඩ් කියන්නේ මොන මගුලක්ද කියලා ඔලුවට ආවානම් මෙන්න තැන.බලලා එන්න.මෙන්න පොඩි උදාහරණයක්.මේ තියෙන්නේ byte ආකාරයට වේරියබල් දෙකක් ඩික්ලෙයාර් කරලා තියෙන ආකාරය.
byte c, b 

short

short 16-bit ආකාරයේ වෙනවා.එහි පරාසය උඩ දාල තියෙන ඉමේජ් එකේ තියෙනවා.මේක ජාවා වල ඉතාම අඩුවෙන් යොදා ගන්න සිම්පල් ඩේටාටයිප් ආකාරයක් කිව්වොත් වැරදි නෑ.16 බිට් අකාරයේ පරිගණක වල වැඩ කරද්දී වැදගත් වුනා මේ ආකාරය.මේ තියෙන්නේ byte ආකාරයට වේරියබල් දෙකක් ඩික්ලෙයාර් කරලා තියෙන ආකාරය.
short a ; 
short b ;

int

මේක තමා වැඩියෙන්ම භාවිතා වෙන සිම්පල් ඩේටාටයිප් ආකාරය.මේක 32-bit ආකාරයේ වෙනවා.අපි byte, short, int ආකාර වලට වේරියබල් ඩික්ලෙයාර් කරලා තිබුනත් කැල්ක්යුලේෂන් කරන කොට කැල්ක්යුලේෂන් එක කිරීමට ප්‍රථමයෙන් මේ ආකාර, int ආකාරයට වෙනස් වෙනවා.ඒ හන්දා අපිට හරියටම කියන්න බෑ අපි මෙමරි ඉඩ ඉතුරු වෙන්න කියලා short, byte දැම්මා කියලා අපි බලාපොරොත්තු වෙන දේ අපිට ලැබෙනවා කියලා.මොකද ගොඩක් වෙලාවට int වලට අගය හරවා ගන්න හන්දා.
int d ;

long

long කියන්නේ 64-bit ආකාරයේ සිම්පල් ඩේටාටයිප් ආකාරයක්.මේක අපිට වැදගත් වෙනවා int ආකාරය යම් අගයක් රඳවා ගැනීමට ප්‍රමාණවත් නොවෙන වෙලාවල් වලට.අපි දැන් යමු උදාහරණයකට long යොදාගෙන.




මේක රන් කලොත් ලැබෙන අවුට්පුට් එක තමා මේ.





හොඳයි.දැන් බලමු ප්‍රෝග්‍රෑම් එක ගැන.මේකේ 3 4 5 6 පේලි වල අපි දන්නා කියන සිම්පල් ඩේටාටයිප්ස් ආකාර වලට වේරියබල් ඩික්ලෙයාර් කරලා තියෙනවා.එතන අවුලක් නෑ.පැහැදිලියි.ඊළඟට අපි lightspeed කියන වේරියබල් එකට තත්පරයකට ආලෝකය ගමන කරන දුර දීලා තියෙනවා.අපිට ඕනේ දින 1000 කදී ආලෝකය ගමන් කරන දුර හොයන්නනේ.ඊළඟට අපි දෙනවා days කියන වේරියබල් එකට 1000 කියන අගය.දින දීලා හරියන්නේ නෑ.මේක තත්පරවලට හරවන්න ඕනෙනේ.එක තමා 10 වෙනි පෙලියේදී seconds කියන වේරියබල් එක යටතේ කරලා තියෙන්නේ.distance කියන වේරියබල් එකට දීල තියෙනවා lightspeed සහ seconds යන වේරියබල් වල අගයන් එකිනෙක ගුණ කරලා එන අගය.මෙන්න මේ ටික අපි print ස්ටේට්මන්ට්ස් වල ප්‍රින්ට් කරලා තියෙනවා.
වැදගත්ම දේ මෙන්න මේකයි.ඔයාලට ප්‍රෝග්‍රෑම් එක බැලුවම පේනවා ඇති distance කියන වේරියබල් එකේ අගය සැහෙන විශාල අගයක් කියන එක.මේ අගය සහිත distance වේරියබල් එක long විදියට නැතුව int විදියට දුන්නොත් මොකෝ වෙන්නේ? int ට මෙතරම් විශාල රේන්ජ් එකක් හැන්ඩ්ල් කරන්න බෑ. බැරිවෙලාවත් අපි long distance වෙනුවට int distance දුන්නොත් එහෙම මෙන්න මෙහෙම error එකක් ඇවිත් කම්පයිල් කරන වැඩේ අල වෙනවා.


අපි දීලා තියෙන්නේ int උනාට කම්පයිලට ප්‍රෝග්‍රෑම් එකේ හම්බෙන්නේ long අගයක් කියලා කම්පයිල අපිට error එකක් දෙනවා.
ජාවා කරන අය මේ ඩේටා ටයිප්ස් දෙන කොට ඒ ඒ රෙන්ජ් වලට අදාලව දෙන එක ගොඩක් වැදගත් වෙනවා.distance උදාහරණයකට ගන්න.අපි දෙන ඉන්පුට් ඩේටා පොඩි අගයන් උනාට අවසානයේ කල්ක්යුලේට් වෙලා එන අගයන් විශාල අගයන් වෙන්න පුළුවන්.ඒ හන්දා ඊට ගැලපෙන ලෙසට ඩේටා ටයිප්ස් ලබාදීම කලයුතු වෙනවා.ඒවගේම තමා int දිය යුතු තැනට long දීමත් නොගැලපෙන වැඩක්.අනික් ප්‍රෝග්‍රෑමස්ලා ඉදිරියේ නෝන්ඩි වෙන වැඩක්.කල්පනාවෙන් වැඩ කරන්න.ඊළඟ ලිපියෙන් මම ඉතුරු මූලික ආකාර 03 වන Floating points, Characters, Boolean ගැන කතා කරනවා.අදට දැනට ඉවරයි.

No comments:

Post a Comment