Saturday, May 1, 2010

ජාවා Selection Statements

ඕනැම ප‍රිගණක ක්‍රම ලේඛනයක් සාමාන්‍යයෙන් මූලික කොටස් 3 කින් සමන්විත වෙනවා
  1. Selection
  2. Sequence
  3. Iteration
අප මෙම පාඩමේදී සලකා බලන්නේ ජාවාහි selection භාවිතා වන්නේ කුමන ආකාරයෙන්ද යන්නයි. ජාවා තුල selection සඳහා සහය දැක්වීමට පහත සඳහන් විකල්ප 6 භාවිතා කරන්න පුලුවන්.
  • if 
  • if - else
  • Nested if
  • if - else - if
  • switch statement 
  • Ternary operator
if statement
syntax :
if (condition) {
   //Perform Task1
}

මෙහිදී සිදුවන්නේ condition යන්න true ලෙස පවතීනම් if code block එක තුල ඇති statements (Task1) execute කිරීමයි.

if - else statement
syntax :
if(condition){
 //Perform Task1
}else{
 //Perform Task2
}

මෙහිදී සිදුවන්නේ condition යන්න true ලෙස පවතීනම් if code block එක තුල ඇති statements (Task1) execute කිරීමයි. condition යන්න false ලෙස පවතීනම් else සඳහා අදාල  code block එක තුල ඇති statements (Task2) execute කිරීමයි.

Nested if statements

syntax :
if(condition1){
 if(condition2){
  //Peform Task1
 }else{
  //Peform Task2
 }
}else{
 //Peform Task3
}

මෙහිදී සිදුක‍ර ඇත්තේ if statement කිහිපයක් එකට ගොනු ක‍්ර දැක්වීමයි. condition1 තෘප්ත වේ නම් එම if block එක තුල ඇති ඊලග if statement එක execute වේ එනම් condition2 තෘප්ත වේනම් Task1 සිදුක‍රයි. condition2 යන්න තෘප්ත නොවේ නම් Task2 සිදුක‍රයි. යම් හෙයකින් condition1 තෘප්ත නොවේ නම්(false) Task3 සිදුක‍්රයි.
දැන් ඔබට පැහැදිලි වනවා ඇති Task1 සිදුවීමට නම් condition1 සහ condition2 යන දෙකම තෘප්ත විය යුතු බව. Task2 සිදුවීමට condition1 තෘප්ත වීම ප්‍රමාණවත්ය. condition1 තෘප්ත නොවීම සිදුවුවහොත් Task3 අනිවාර්‍යයෙන්ම සිදුවනු ඇත.

if - else - if statements 

මෙහිදී අපට මුලින් ඇති if condition එක තෘප්ත නොවේ නම් තවත් if conditions කිහිපයක් යෙදිය හැක.
syntax:
 
if(condition1){
 //Perform Task1
}else if(condition2){
 //Perform Task2
}else if(condition3){
 //Perform Task3
}else{
 //Perform Task4
}

switch statement

ජාවා තුලදී switch statement එක සහය දක්වන්නේ int,byte,short,char සහ enumeration  data types සඳහා පමණයි.

ex:


class Case {
public static void main(String args[]){

 int week=3;
 String output;
 switch(week){
  case 1 : output="Sunday";break;
  case 2 : output="Monday";break;
  case 3 : output="Tuesday";break;
  case 4 : output="Wednesday";break;
  case 5 : output="Thursday";break;
  case 6 : output="Friday";break;
  case 7 : output="Saturday";break;
  default : output="Invalid day of week!";
 }//end of the switch statement
 
 System.out.println(output);
}
}

මෙහිදී break keyword එක යොදා තිබෙන්නේ condition එක තෘප්ත වූවිට switch block එකෙන් ඉවතට යාමටයි. default යටතේ දී ඇති statement එක execute වනුයේ ඉහත සඳහන් කිසිඳු case එකක් සමග දී ඇති values නොගැලපුනහොත් පමණි.


Ternary operator

syntax:


result=Condition ? valueA : valueB

මෙහිදී සිදුවන්නේ දී ඇති condition එක true නම් result සඳහා valueA ද නො එසේ නම් valueB ද assign කිරීමයි.

example :

int max;
int a=12 , b=54;
max = (a>b) ? a : b ;

10 comments:

  1. මේ විෂයට නවකයෙක් වශයෙන් මම මුහුණ පෑ ගොඩක් ගැටළු වලට විසදුම් මේ හරහා විසද ගත්තෙමි.ඔබට ගොඩක් පිං!

    ReplyDelete
  2. mama namn Akila.java karanna patangaththe lagdi.hama thanama hewwa sinhala padam tikak.ekakwath haryata naha.e book gaththa.english walin thiyenne.owa apita therena ekak ya.ada nam hamba una hoda padam tikak.elakiri padam tikak.digatama karagena yanna.kenek meken yam deyak aran igenganna ekan oyata loku sthutak thiyenawa.etath wada godak pin hode.thanks, thanks..............

    ReplyDelete
    Replies
    1. ekanam eththa thamai.mamath class iya java walata.kiyana serama therenne na.oyage me upakaraya apita godak watinawa.exam ekata kohoma liyannada kiyala hitha hitha hitiye...oyata godak pin....digatama karagena yannaaa

      Delete
    2. ස්තුතියි ඔබ දෙදෙනාගේ ප්‍රතිචාරයට! කෙනෙක් මෙයින් ප්‍රයෝජනයක් ගන්නවානම්, ඒ නිසා ගොඩාක් සතුටුවෙන්න පුලුවන්!

      Delete
  3. "enumeration data types"
    kiyanne monawada?

    ReplyDelete
  4. @Nadee
    enumeration types are kind of predefined set of representations for some values.

    for example lets take days of a week
    Day.Monday
    Day.Tuesday
    ..

    you can get a proper idea by referring official explanation for enums from the below link.

    http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

    ReplyDelete
  5. godak pin me vadeta sehenna vatinava.jankeve hodama java padam tika meka thamai.thank you very much ..

    ReplyDelete
  6. for loop waldai for loop 2,3 k tiyanakot out put ganna widiha kiyanawad?

    ReplyDelete
  7. @Chaya Jeewani
    අහපු ප්‍රශ්නය මට හරියටම පැහැදිලි නැහැ. මට තේරුන විදියට නම් ප්‍රශ්නෙ අහල තියෙන්නෙ nested for loops කිහිපයක result එක ගන්න වගේ දෙයක්ද?
    උදාහරණයකුත් එක්කම ප්‍රශ්නය ඇහුවනම් පිලිතුරක් දෙන්න පුලුවන්.

    ReplyDelete
  8. Api wenuwen oba me karana upakarayata bahoma pin...........

    ReplyDelete