අපෙන් කවුරු හරි ප්රශ්නයක් ඇහුවොත් මොකද්ද අපට උත්තර දෙන්න තියෙන ලේසිම ක්රමය? ඔව් හෝ නෑ.ඒ වගේම තමා අපි කෝඩ් එකක් ලියන කොට අපිට ඔව් නෑ වගේ අගයන් දෙන්න පුළුවන් කම තියෙන්න ඕනේ.එහෙනම් කොහොමද මේ ඔව් නෑ අපි ජාවා වල දෙන්නේ.ඒක තමා අද මම කියන්න යන්නේ.මේක තමා ජාවා වල තියෙන සිම්පල්ම ඩේටා ටයිප් එක.අපි මේක යොදා ගන්නවා ලොජිකල් අගයන් පෙන්නන්න.ඒ කියන්නේ තාර්කික අගයන් නිරූපනය කරන්න.මේකට කියන්නේ boolean-බුලියන් ඩේටා ටයිප් එක කියලා.මේකට තියෙන්න පුළුවන් අගයන් එකක් හෝ දෙකක් විතරයි.ඒ තමා true-ත්රූ(සත්ය) හා false-ෆෝල්ස්(අසත්ය).මේ අකාරයේ අගයන් දෙකෙන් එක අගයක් තමා a>b වගේ relational operators වලින් return වෙන්නේ.ඒ ගැන බලමු ඉස්සරහට.ඒ වගේම තමා conditional expressions යොදාගන්න control statements වලදීත්(if එහෙම මතකද? යන්න මෙතනට).
බලමු දැන් පොඩි කෝඩ් එකක්.
පොඩි කිව්වට පොඩිම නෑ නේද?බලමු මේකේ අවුට්පුට් එක මොකද්ද කියල?
දැන් මම හදන්නේ කෝඩ් එක කියලා දෙන්න.මුලින්ම b කියන වේරියබල් එක boolean ටයිප් එක කියලා ඩික්ලෙයාර් කරලා තියෙනවා.ඔන්න ඊළඟට මම ඒ b කියන වේරියබල් එකට අගයක් දානවා false කියලා.ඒ කියන්නේ අසත්ය.අපිට boolean ඩේටා ටයිප් එකට දෙන්න පුළුවන් true හෝ false අගයන් විතරයි.ඕන ඕන අගයන් දෙන්න බෑ.මතකනේ මුලින් කිව්වා.ඊළඟට මම b වල අගය System.out.println එක හරහා ප්රින්ට් කරගන්නවා." " ඇතුලේ තියෙන b is කියන වචන වල කිසිම වෙනසක් නැතිව ප්රින්ට් වෙනවා.ඊළඟට හම්බෙනවා ස්ට්රින්ග් කන්කටිනේෂන් එක.ඒකෙන් පස්සේ අගය ප්රින්ට් කරන්න ඕනේ වේරියබල් එක b කියලා තියෙනවා.ඒ හන්දා b ට අදාළ අගය ප්රින්ට් වෙනවා.false කියලා.ඒ අනුව අපිට පළමු අවුට්පුට් එක ලැබෙනවා b is false කියලා.
ඊළඟට මම ආයෙ b කියන වේරියබල් එකට true කියලා දෙනවා.කලින් b ට තිබුනේ false කියලා.දැන් ඒ false කියන අගය ඉවත් වෙලා true කියන අගය වැටෙනවා.ඒ කියන්නේ සත්ය.ඊළඟට මම b වල අගය System.out.println එක හරහා නැවත ප්රින්ට් කරගන්නවා." " ඇතුලේ තියෙන b is කියන වචන දෙක කිසිම වෙනසක් නැතිව ආයෙත් ප්රින්ට් වෙනවා.ඊළඟට හම්බෙනවා ස්ට්රින්ග් කන්කටිනේෂන් එක.ඒකෙන් පස්සේ අගය ප්රින්ට් කරන්න ඕනේ වේරියබල් එක b කියලා තියෙනවා.ඒ හන්දා b ට අදාළ අගය ප්රින්ට් වෙනවා.true කියලා.ඒ අනුව අපිට දෙවැනි අවුට්පුට් එක ලැබෙනවා b is true කියලා.
දැන් අපි දන්නවා b ට ලැබිල තියෙන අගය තාම true.ඒ කියන්නේ සත්ය.අපිට ඊලගට අපේ කෝඩ් එකේ හම්බෙනවා
if (b)
if එක්ක මෙහෙම වරහන් තුල වේරියබල් එකක් දැම්මොත් ඒකෙන් අදහස් වෙන්නේ මෙන්න මේක.b කියන වෙරියබ්ල් එක true නම් එහෙමත් නැත්නම් b කියන වේරියබල් එක සත්ය නම් පමණක් if ට අදාළ { } තුලට ගිහින් ඒ ඇතුලේ තියෙන ස්ටේට්මන්ට්ස් රන් කරන්න.මේක කෙටි ක්රමයක් මෙන්න මේකට.
if (b == true)
දැන් අපි දන්නවා b කියන වේරියබල් එකේ තාම තියෙන්නේ true.එහෙමනම් අනිවාර්යෙන් if ට අදාළ { } ඇතුලට ගිහින් ඒ ඇතුලේ තියෙන ස්ටේට්මන්ට්ස් රන් වෙන්න ඕනේ.හරිනේ..මේ රන් වෙලා තියෙන්නේ.{ } ඇතුලේ තියෙන්නේ This is executed කියන වචන ටික ප්රින්ට් කරන්න කියලානේ.ඔය ප්රින්ට් වෙලා තියෙන්නේ ලස්සනට.
ඊළඟට කෝඩ් එක බැලුවම පේනවා b කියන වේරියබල් එකට false කියලා දාල තියෙනවා.ඒ කියන්නේ දැන් b වල අගය false.ඔන්න අපිට ආයෙම හම්බෙනවා if (b).මේකෙන් කියන්නේ මොකද්ද?මං මුලින්ම කිව්ව්වනේ.ඔන්න ආයෙම කියනවා මං.if එක්ක මෙහෙම වරහන් තුල වේරියබල් එකක් දැම්මොත් ඒකෙන් අදහස් වෙන්නේ මෙන්න මේක.b කියන වෙරියබ්ල් එක true නම්, එහෙමත් නැත්නම් b කියන වේරියබල් එක සත්ය නම් පමණක් if ට අදාළ { } තුලට ගිහින් ඒ ඇතුලේ තියෙන ස්ටේට්මන්ට්ස් රන් කරන්න.බැරිවෙලාවත් b වේරියබල් එකේ අගය false නම් එහෙම ඔය if ට අදාළ { } ඇතුලට යන්න බෑ.දැන් අපි දන්නවා b කියන වේරියබල් එකේ තියෙන්නේ false.එහෙමනම් if ට අදාළ { } ඇතුලට පනින්න බෑ.ඒ කියන්නේ කෝඩ් එකේ තියෙන This is not executed කියන වචන ප්රින්ට් වෙන්න බෑ.හරිනේ..ප්රින්ට් වෙලා නෑනේ.අපේ අවුට්පුට් එකේ This is not executed කියන එක නෑනේ.
ඊලඟට කෝඩ් එකේ තියෙනවා System.out.println එකේ " " ඇතුලේ 10 > 9 is කියලා.එකේ අවුලක් නෑනේ." " ඇතුලේ තියෙන ඕනේ මගුලක් ප්රින්ට් වෙනවනේ.ඊලඟට ස්ට්රින්ග් කන්කටිනේෂන් එක ඇතුලේ අපිට හම්බෙනවා (10 > 9) කියලා.වරහන් දාලා තියෙන්නේ මේ කොටස වෙන් කරගන්න.අපි වීජ ගණිතයේදී කරන්නේ.(ඇත්තටම කිව්වොත් එතන වෙන්නේ > ට වඩා higher precedence එකක් + ට තියෙනවා.ඒවා ගැන දැන්ම හිතන්න එපා.ඒවා කියන්නම්.නැත්නම් දන්නා අය කියයි කිව්වේ නෑ කියලා.) දැන් 10 අගය 9 ට වඩා අඩුද වැඩිද? අනිවාර්යෙන්ම 10 වැඩිනේ නේද?එහෙනම් මේ කියන 10 > 9
කියන ප්රකාශය සත්යද අසත්යද? සත්යයි නේද? එහෙනම් අපිට අවුට්පුට් එක විදියට එන්න ඕනේ සත්යයි කියන අගය.ඒ කියන්නේ true.ඔන්න ඔය විදියට අපිට හම්බෙනවා 10 > 9 is true කියලා අවුට්පුට් එකට.
නිකමට හිතන්න කෝඩ් එකේ තිබුන කියලා මෙහෙම.
System.out.println("10 > 900 is " + (10 > 900) );
දැන් 10 අගය 900 ට වඩා අඩුද වැඩිද? අනිවාර්යෙන්ම 900 වැඩිනේ නේද? එහෙනම් මේ කියන 10 > 900
කියන ප්රකාශය සත්යද අසත්යද? අසත්යයි නේද? එහෙනම් අපිට අවුට්පුට් එක විදියට එන්න ඕනේ අසත්යයි කියන අගය.ඒ කියන්නේ false.ඔන්න ඔය විදියට අපි කෝඩ් එකක් දැම්මොත් අපිට හම්බෙයි
10 > 900 is false කියලා අවුට්පුට් එකට.දාලා බලන්න.අදට ගිහින් එන්නම්.


No comments:
Post a Comment