Sunday, 28 August 2022

Java Operators

Have a nice day Boys and Girls, ඔන්න අදත් ආවා Voldemort ඔයාලව හොයාගෙන 😍

අන්තිමට දාපු Post එකේදි අපි කතා කරලා ඉවර කලේ Java Data Casting ගැනනේ.අද අපි කතා කරන්න යන්නේ, java Operations ගැන. මේක ටිකක් ලොකු කියලා මම බොරු කියන්නෙ නෑ, මොකද මේක ගොඩක් ලොකුයි 😂. හැබැයි එක පෝස්ට් එකයි සියල්ල Done And Dusted😁, 

හරි පටන් ගමු අද මාතාව ඒම නම්, Java Operators;  Operators Use කරන්නේ Variables හා Values වල Operations Perform කරන්න.

“+” OPERATOR


සාමාන්‍ය තේරුමම තමා, Value දෙකක් එකතු කරන්න අපි මේක Use කරන්නේ. 




උඩ Example එකේ පේන්න තියෙන්නේ Value දෙකක් එකට එකතුවෙන විදියනේ. Value දෙකක්ේකට එකතු කරන්න විතරක් නෙවී Value එකත් එක්ක variable එකක් එකතු කරන්නත්, variable දෙකක් එකතු කරන්නත් + පාවිච්චි කරන්න පුලුවන්, බලන්නකෝ පහල උදාහරණ දිහා. 



 

හරි ඊලග කතාව, Java වල Opertaors වර්ග කිහිපයක් තියෙයි. 

  1. Arithmetic Operators

  2. Assignment operators

  3. Comparison operators

  4. Logical operators

  5. Bitwise Operators


විදියට, මේ අපි ලෑස්තිවෙන්නේ මෙව්වා එකින් එක පැහැදිලි කරගන්න.


Arithmetic operators


මේ තියෙන්නේ සාමානයෙන් අපි එදිනෙදා ජීවිතයේදී යොදාගන්නා ගණිත කර්ම. මෙව්වට අමතරව අලුත් Concept තුනක් තියෙයි අපිට ඉගන ගන්න, එකක් %. මේකට කියනවා Modulus කියලා. ඉතුරු සහිතව බෙදෙන සංඛ්‍යා  දෙකක් බෙදලා එන ඉතුරුව තමා මේකෙන් එන්නේ. ඊලග එක ++, මේකට කියනවා Increment කියලා. මේ Symbol එකෙ දැම්මාම Output එක එන්නේ අදාල සංඛ්‍යාවට එකක් එකතු වෙලා. මේ Operator එකේ operation එක තමා ඒක. ඊලග කතාව -- , මේ Decrement, ඇරකේ විරුද්ද එක. තේරෙනවනේ, එකක් අඩු උනු Output එකක් ඕන නම් මේක use කරනවා.


දැන් බලමූ එකින් එකට මේව,


Addition (+)


සුපුරුදු විදියට සංඛ්‍යා දෙකක් එකට එකතු කරන්න තමා මේක පාවිච්චි කරන්නේ. බලන්නකෝ කොහොමද මේකේ Syntax එක හා program එක එන්නේ කියලා,




Subtraction (-)


සාමාන්‍ය අංක ගණිතයේ විදියටම සංඛ්‍යා දෙකක් එකකින් එකක් අඩු කරන්න තමා මේක පාවිච්චි කරන්නේ. මේකේ Syntax එක හා program එක එන විදිය තමා පහල තියෙන්නේ, බලන්නකෝ ඒක එන විදිය




Division (/)


සාමාන්‍ය විදියටම සංඛ්‍යා දෙකක් බෙදන්න මේක පාවිච්චි කරන්නේ. බලන්නකෝ කොහොමද මේකේ Syntax එක හා program එක එන්නේ කියලා,




Multiplication (*)


සාමාන්‍ය අංක ගණිතයේ විදියටම සංඛ්‍යා දෙකක් ගුණ කරන්න මේක පාවිච්චි කරන්නේ. මේකේ Syntax එක හා program එක එන විදිය තමා පහල තියෙන්නේ, බලන්නකෝ එන විදිය




Modulus (%)


මෙන්න අලුත් තුනෙන් පලවෙනි එක, ඉතුරු ඇතිව බෙදෙන යම් සංඛ්‍යා දෙකක් බෙදුවාම ඒකේ ඉතුරු ප්‍රමානේ තමා මේකෙන් ලැබෙන්නේ. බලන්න පහල උදාහරනේ,



තේරුනා නේද,





Increment (++)


Increment, මේ තියෙන්නේ ඊලග එක, Increment එක use කලාම එන Output එක එන්නේ අදාල සංඛ්‍යාවට එකක් එකතු වෙලා. මේ Operator එකේ operation එක තමා එතකොට අදාල අවස්තාවෙ තියන ඕනෑම සංඛ්‍යාවකට එකක් එකතු කිරීම. බලන්න Syntax එක එක්ක program එක එන විදිය. අනික් වැදගත්ම දේ තමා  අපිට නිතරම ඕන වෙන Operator එකක් Increment කියන්නේ.





මේකේ මේ තියන විදියටම X ට කලින් Increment එක දාන්න මතක තියාගන්න Guys, කොයි අතටත් එකනේ කියලා ඒම දානවා නෙවී. ඒම දැම්මට Compile වෙනවා, හැබැයි අපට ඕන Output එක එන්නේ නෑ.


Decrement (--)


Decrement තමා Arithmetic Operators යටතේ අපි අලුතෙන් ඉගන ගන්න අන්තිම Operator  එක, කලින්ම කිව්වනේ මේක Increment එකේ opposite එක කියලා, එතකොට් ඒකේදි වෙන්නෙ එකතු වෙන එක් නම් මේකේදි අඩු වෙන්න ඕනනේ නෙහ්, හරියට හරි Decrement use කලාම එන Output එක එන්නේ අදාල සංඛ්‍යවෙන් එකක් අඩු වෙලා. මේ Operator එකේ operation එක තමා එතකොට අදාල අවස්තාවෙ තියන ඕනෑම සංඛ්‍යාවකින් එකක් අඩු කිරීම. බලන්න Syntax එක එක්ක program එක එන විදිය. ඉස්සෙල්ලා කිව්වා වගේම Increment එක වගේම මේකත් අපිට නිතරම ඕන වෙන Operator එකක්.




Assignment Operators


Assignment කියන්නේ, ඉගනගන්න අපිට ඉගනීම කටු අත්තක් කියලා අමතක වෙන වෙලාවට අපිට නිතරම ඒක ඒමම තමා කියලා නිතරම මතක් කරලා දෙන හරිම සුන්දර දෙයක් නෙහ් Girls and Boys 🥴😂, හරි පැවරුම් ඒම නැත්නම් Assignment එකකින් අපේ ලෙක්චරර්ලා ඒම නැත්නම් ගුරුවරු හරි කවුරු හරි අපිට කරන්නේ යම් වැඩක් කරන්න පවරන එක. ආ මේ Operator එකේ තේරුමත් එමම තමා. Value එකක් පැවරීමක් ඒම නැත්නම් Assign කිරීමක් තමා මේකේදි වෙන්නේ. අපි මෙච්චර කාලේකට Cover කරපු Java Lessons වලින් අපි පාවිව්චි කරපු එකම Assignment Operator එක තමා =, මේකෙන් අපි X = 5 කිව්වොත් එතන ඉදන් X පහට සමානයි කියල ගත්තා. මතකයි නෙහ්. හරි ඒ වගේ තව Assignment Operators Set එකක් ඉගන ගන්නයි දැන් මේ හදන්නේ, අපි Assignment Operators 11 ගැන කතා කරනවා, මේ 11 සාමාන්‍යයෙන් වර්ග දෙකකට බෙදෙනවා,


1.Simple assignment operators : සරල අවස්තාව, ඒ කියන්නේ මේ Type එකට අයිති වෙන්නේ  “=” ලකුණ තියන Assignment විතරයි, සමාන්‍යයෙන් Java වලදී Assignment Operator එකෙන් වම් පැත්තේ තියන ඒවට Oparand කියලා කියනවා, දකුණු පැත්තේ තියෙන්නේ අගයන් නේ, ඒ වගේම දකුණු පැත්තේ අගය වගේම වම් පැත්තේ තියන Oparand එක එකම දත්ත වර්ගය විය යුතුයි කියන එකත් ඉතිම් තේරෙන්වනේ.


2. Compound assignment operators : “=” Operator එක එක්ක +,-,*, සහ / භාවිතා කරන තැන්වලට අපි කියනවා Compound assignment operators කියලා.


දැන් ඊලගට බලමු මේ එක එකක් Assignment Operators සහ එයාලගේ Operations සිද්ද වෙන ආකාරය.




“=” (Equal to - Primitive assignment)


මේක තමා Assignment Operators වල සරලම අවස්තාව, මේකට primitive assignment කියලත් කියනවා. සමාන්‍ය අංක ගණිතයේ වගේම මෙතනදිත් සමාන ලකුණින් කරන්නේ දකුණු පැත්තෙ තියන අගය පැත්තේ තියන Variable  එකට නැත්නම් විචල්‍යයට Assign කරන එක, විච්ල්‍යට ඒ අදාල අගය බාරදෙනවා, නැත්නම් පවරනවා කියන Assignment Operators වල මූලික නිර්වචනය සහ එය ක්‍රියාත්මක වන ආකාරය මෙතනින් තමා පැහැදිලිවම තේරුම් ගන්න පුලුවන්.




(+=) Addition assignment

 

මේ Operator එක ක්‍රියාත්මක වෙන්නේ ‘+’ සහ ‘=’ Operators දෙකේම එකතුවක් විදියට. මේ Operator එක කලින් කිව්ව විදියටම Compound Operator එකක්. මේක ක්‍රියාත්මක වෙන්නේ වම් පැත්තේ තියන Variable එක ඒම නැත්නම් විචල්‍යයේ දැන් අගය දකුණු පැත්තේ තියන අගයට එකතු කරලා, ප්‍රතිඵලය වම් පස ඇති විච්ල්‍යට, නැත්නම් අපි කිව්වා මේකට විච්ල්‍ය කියන්නෑ operand කියල කියන්නේ කියලා, ඒ Operand එකට පවරන එක තමා මෙතනදී වෙන්නේ. උදාහරනෙන් අපි මේක පැහැදිලි කරගමුකෝ,

 



“-=” Subtraction assignment


මේ Operator එක ක්‍රියාත්මක වෙන්නේ ‘-’ සහ ‘=’ Operators දෙකේම එකතුවක් විදියට. මේ Operator එක කලින් කිව්ව විදියටම Compound Operator එකක්. මේක ක්‍රියාත්මක වෙන්නේ වම් පැත්තේ තියන Variable එක ඒම නැත්නම් විචල්‍යයේ දැන් අගයෙන් දකුණු පැත්තේ තියන අගය අඩු කරලා, ප්‍රතිඵලය Operand එකට පවරන එක තමා මෙතනදී වෙන්නේ. උදාහරනෙන් අපි මේක පැහැදිලි කරගමුකෝ,




“*=” Multiplication assignment


මේ Operator එක ක්‍රියාත්මක වෙන්නේ ‘*’ සහ ‘=’ Operators දෙකේම එකතුවක් විදියට. මේ Operator එකත් අයිති වෙන්නේ Compound Operator ගනයටමයි. මේක ක්‍රියාත්මක වෙන්නේ වම් පැත්තේ තියන Variable එක ඒම නැත්නම් විචල්‍යයේ දැන් අගයෙන් දකුණු පැත්තේ තියන අගයෙන් වැඩි කරලා, ප්‍රතිඵලය Operand එකට පවරන එක තමා මෙතනදී වෙන්නේ. උදාහරනෙන් අපි මේක පැහැදිලි කරගමුකෝ,




“/=” Division assignment


මේ Operator එක ක්‍රියාත්මක වෙන්නේ ‘/’ සහ ‘=’ Operators දෙකේම එකතුවක් විදියට. මේ Operator එකත් Compound Operator එකක්. මේක ක්‍රියාත්මක වෙන්නේ වම් පැත්තේ තියන Variable එක ඒම නැත්නම් විචල්‍යයේ දැන් අගයෙන් දකුණු පැත්තේ තියන අගය බෙදලා, ප්‍රතිඵලය Operand එකට පවරන එක. උදාහරනෙන් අපි මේක පැහැදිලි කරගමුකෝ,





“%=”Remainder assignment


මේ Operator එක ක්‍රියාත්මක වෙන්නේ ‘-’ සහ ‘=’ Operators දෙකේම එකතුවක් විදියට. මේ Operator එක කලින් කිව්ව විදියටම Compound Operator එකක්. මේක ක්‍රියාත්මක වෙන්නේ වම් පැත්තේ තියන Variable එක ඒම නැත්නම් විචල්‍යයේ දැන් අගයෙන් දකුණු පැත්තේ තියන අගය බෙදලා ඉතුරු අගය Operand එකට පවරන එක. උදාහරනෙන් අපි මේක පැහැදිලි කරගමුකෝ,




“&=” Bitwise And operator


මේක චූට්ටක් සංකීර්ණයි, හැබැයි මෙතන ඉන්න මගේ කොල්ලෝ කෙල්ලෝ ටිකට Logic Gates ටිකෙයි Binary Numbers වලයි මතකෙ තියන ප්‍රමානේ මේ සංකීර්ණැ කම එක්ක අනුලෝම සමානුපාතික තත්වයක් තියෙන්නේ, ඒ කියන්නේ Gates ටිකයි Binary මතක අයට මේක Easy.

Examples වලින්ම පුලුවන් තරම් පැහැදිලි කරගමු, එතකොට තේරෙන ප්‍රමානේ වැඩීනේ. හරි අපි Example එක විදියට A හා B ගමු, 


A &=B කියන එක තව ලියන්න පුලුවන්,

A = A&B කියලා,


නෙහ් ?


හරි අපි A = 3, B = 5 කියල ගමු, දැන් අපි බලමු Program එක Syntax ඒම එන විදිය (කිසිම වෙලාවක Variable එකට තනි අකුරක නමක් Use කරන්න එපා, මතක ඇති මම මේක ගැන ලොකුවට පහු ගිය කොටස් වලදී විස්තර කලා. මෙතන මම ඒම Use කරන්නේ ඔයාලට Program එකෙන් පරිභාහිරව ටිකක් මම විස්තර කරන්න යන නිසා ඒකෙ පහසුවට. ඔයාල මේක බලලා තනියෙන් Practical කරනකොට අනිවාරෙන්ම Variable name එකට තේරුමක් තියන නමක් දාලා කරන්න).




Binary අමතක උන් Confused Part One 😵‍💫🥴 Ok Ok Relax am here, මම මේක පැහැදිලි කරන්නම් හිමින්, පලවෙනි එක නිසා. එකක් මතක් කලාම අනික්වා කරබකොට නිකන්ම මතක් වෙයි. 


හරි මෙතනදී හැම දේටම කලින් මේ Numbers Binary කරගෙන ඉන්න ඕන, යාලුවනේ ඒක අමතක මිනිස්සූ මේ ලෝකේ ඉන්න ඕනම නෑ මට අනුව නම්. Ok Ok No more Jokes, ඒක අපි හැමෝම දන්නවනේ නෙහ්. ඒකයි මම ඒම කිව්වේ. 


A = 3 = 11

B = 5 = 101


ඕමනෙ ඉන්නේ Binary වලට හැරෙව්වාම. මේක දැන් And Gate එකේ truth Table එක පාවිච්චි කරල ලෙහන්න තියෙන්නේ. 



දැන් තේරෙන්න ඕන වැඩේ, එතකොට මෙන්න මේ පහල තියන විදියට තමා A&B Output එක එන්න ඕන. 

    

ඊලගට හරවන්න බලන්න 001 Decimal Numbers වලට. ලස්සනට එයි 1යි කියලා. තේරුනා නෙහ් Program එක Execute උනු විදිය. හරී දැන් Binary Number ත් මතක් කරගත්තා. ඊලග ටික Easy එතකොට.


“|=” Bitwise Or assignment


Or Truth Table එක Use කරලා හරි ලේසියට අර වගේම වැඩේ ගොඩ දාගන්නයි තියෙන්නේ. හරි අපි පුරුදු Example එකම ගමු, 


A = 3 = 11

B = 5 = 101




මේක දැන් Or Gate එකේ truth Table එක පාවිච්චි කරල ලෙහන්න තියෙන්නේ. 


එතකොට මෙන්න මේ පහල තියන විදියට තමා A|B Output එක එන්නේ. 

ඊලගට 111 Decimal Numbers වලට හැරෙව්වාම 7 යි කියලා එනවා. 


“^=” Bitwise xor Assignment


xor Truth Table එක Use කරලා අර වගේම විසදන්නයි තියෙන්නේ. හරි අපි පුරුදු Example එකම ගමු, 


A = 3 = 11

B = 5 = 101





 “>>=” Bitwise right shift Assignment 


ශරි, මේකෙ වෙන වැඩේ ටිකක් අමුතුයි, ලොකු අමුත්තකුත් නෑ ඉතිම් අපි දැන් Increment Decrement operators ඉගන ගෙනනේ තියෙන්නේ. ආන් එමම තමා. Right shift එකේදි නම් වෙන්නේ හැබැයි Decrement එකක්. මෙතනදී වෙන්නේ binary Point අපි Apply කරන ගානකින් පස්සට යන එක, තේරුන්නෑ නෙහ්, ඉන්ට කියන්ට කලින් example එකම ගම්මු අපි.


A = 3 

B = 5 


එතකොට මෙතනදී A>>=B කිව්වොත් A = A>>B කියල කිව්වාම A විතරක් Binary කරනවා, එතකොට 


A = 3 = 11, නෙ එන්නේ. මෙයාව Decimal point පහකින් පස්සට යවන එක තමා කරන්නේ A>>=B වලින්, පහල බලන්න තේරෙයි ඔයාට, 


දැන් A තියෙන්නේ මෙන්න මේ විදියට,



මේකේ B = 5 නිසා Point පහක් පස්සට ගියාම තියන ඉලක්කම තමා A ට උත්තරේ විදියට ලැබෙන්නේ.



එතකොට පහක් පස්සට ඒම නැත්නම් දකුණු පැත්තට ගියාම තියෙන්නේ 0, ඒ හේතුව නිසා තමා Execute කලාම උත්තරේ 0 ක් විදියට පහල ඇවිත් තියෙන්නේ. මේකේදි මේ පස් වෙනි තැන බින්දුව නැතිව එක තිබිල තව ඉස්සරහට තව ඉලක්කමුත් තිබ්බ නම් එතන ඉදල ඒ අදාල කොටස උත්තරේ විදියට එනවා,


ඒ කියන්නේ හිතන්නකෝ පස් වෙනි තැන 1 තව ඉස්සරහට 1001 තිබ්බ කියලා. එතකොට සම්පූර්ණ අංකේ එන්නේ 10011 කියලනේ, එතකොට උත්තරේට එනව 10011 Binary කලාම එන උත්තරේ. ඒ කියන්නේ 19. ඔන්න ඕක තමා එතකොට කතාව.


දැන් දකුණු පැත්තට shift වෙන්නේ ඕම නම්, ඊලගට වම් පැත්තයි බලන්න ලෑස්ති වෙන්නේ.








 “<<=” Bitwise left shift Assignment 


Right shift එකේදි උනේ Decrement එකක්නෙ ඒත් Left එකේදි වෙන්නෙ ඒකෙ අනික් පැත්ත ඒ කියන්නේ Increment එකක්. මෙතනදී වෙන්නේ binary Point අපි Apply කරන ගානකින් ඉස්සරහට එන එක, කලින් example එකම ගම්මු අපි.


A = 3 

B = 5 


එතකොට මෙතනදී A<<=B කිව්වම


A = 3 = 11, නෙ එන්නේ. මෙයාව Decimal point පහකින් ඉස්සරහට ගන්න එක තමා කරන්නේ A<<=B වලින්, පහල බලන්න කලින් වගේමයි, 


දැන් A තියෙන්නේ මෙන්න මේ විදියට,




එතකොට පහක් ඉස්සරහට ඒම නැත්නම් වම් පැත්තට ගියාම එන ඉලක්කම වෙන්නේ එතකොට 1100000, ඒ හේතුව නිසා තමා Execute කලාම උත්තරේ 1100000 Decimal කලාම උත්තරේ 96 ක් විදියට පහල ඇවිත් තියෙන්නේ.

 




Java Comparison Operators

Values දෙකක් Compare කරන්න තමා මේ operators වර්ගය Use කරන්නේ. අපි මෙතනදී හොදටම මතක තියාගන්න ඕන දේ තමා මෙතන Output එක විදියට එන්නේ True හෝ False කියන දෙකෙන් එකක් කියන් එක. කරන්නේ Comparison එකක්නේ, ඒක කරන්නේ සත්‍යද අසත්‍යද කියල බලන්න. අන්න ඒ කාරනාව නිසා තමා මෙතනදී උත්තරෙ විදියට true or False Execute වෙන්නේ. 


“==” Equal To




“!=” Equal To




“>” Greater Than




“<” Greater Than




“>=” Less Than Or Equal




“<=” Greater Than Or equal




Java Logical operators


Statement එකක් දීලා ඒකේ Logic එක Execute කරන්න මේව Use කරන්නේ. මෙතනදීත් එන්නේ උත්තර විදියට True Or False. මෙතනදීත් අදාල පිලිතුර ගන්න ඒ ඒ අදාල gates වල truth table සම්බන්ද දැනුම අත්‍යවශ්‍යයි. අපි මෙතනදී ඉගන ගන්නේ Logical Operators වර්ග තුනක් ගැන විතරයි

  1. Logical and

  2. Logical or

  3. Logical not


“&&” Logical And


And Gate එකේ truth Table එක මතකයිනේ, අන්න ඒ පිලිවෙලට තමා Conditions True Or false වෙන්නේ.





“||” Logical Or


Or Gate එකේ truth Table එක මතකයිනේ, අන්න ඒ පිලිවෙලට තමා Conditions True Or false වෙන්නේ.





“!” Logical not


Not Gate එකේ truth Table එක මතකයිනේ, අන්න ඒ පිලිවෙලට තමා Conditions True Or false වෙන්නේ. Not Gate එකේ තියන විශේශත්වේ තමා True ආවම False, False ආවම True 😂, පහල බලන්නකො.







හරි, ඔන්න Operators ත් ඉවරයි, ඊලග දවසේ අපි කතා කරනවා වගේම කතා කරලා ඉවර කරනව Java Strings.


අදට එහෙනම් මෙච්චරයි. Bye මගේ කොල්ලනේ කෙල්ලනේ 😁😽





































 

 



















No comments:

Post a Comment