Sunday, September 20, 2015

12.Flow Controls

හරි එහෙනම් ඔන්න තවත් අලුත් පොස්ට් එකකින් ඔබව හමුවෙන්න අවා. මේ පොස්ට් එකෙන් කතාකරන්න බලාපොරොත්තු Flow Controls වන්නේ ගැනය. Flow Controls වර්ග 4ක් තියෙනවා මුලින්ම බලමු ඒ මොනාද කියලා. ඉන් පස්සේ ඒ එකිනෙක ගැන වෙන වෙනම කතා කරමු. 


  • if / else
  • for
  • while
  • do.....while
if 

Basic Format.........

   if    ( boolean )      {            }
මෙහිදී සිදුවනුයේ if එකට දකුණු පසින් ඇති වරහන් තුල තිබෙන boolean එක true නම් පමණක් සගල වරහන් දෙක තුල තිබෙන කාර්ය jvm එක මගින් කරයි.  වරහන් තුල තිබෙන boolean එක false නම් jvm එක සගල වරහන් තුලට නොයයි. මේ පිලිබදව පහත උදාහරණය මගින් තවත් පැහැදිලි වෙනු ඇත. 

class A{
    public static void main(String args[]){
          int i = 10;
           if(i<20){                 // 1 st if condition
        System.out.println("print true 1");
          }if(i<12){                 // 2 nd if condition
        System.out.println("print true 2");
          }if(i<8){                  // 3rd if condition
        System.out.println("print false ");
          }
      }
}
print true 1
print true 2

  • ඉහත code එකෙහි i නමැති variable එකක් සාදා එයට 10 අගය ආදේශ කර ඇත. 1st if condition  පේලියේ වරහන් තුල boolean එකක් ලියා  ඇත. එහි ලියා ඇත්තේ i ට වඩා 20 විශාල බවයි. එම boolean එක true වන නිසා JVM එක සගල වරහන් තුලට යයි ඉන්පසු එහි ඇති print true ලෙස ප්‍රින්ට් කරයි. 
  • 2nd if condition එකෙහි boolean එකද true වන නිසා එහිත් සගල වරහන් තුලට JVM එක ගමන් කරයි. ඉන්පසු එහි ඇති print true 1 ලෙස ප්‍රින්ට් කරයි. 
  • 3rd if condition එකෙහි boolean එකද false වන නිසා එහි සගල වරහන් තුලට JVM එක ගමන් නොකරයි. එම නිසා print false යන්න print නොවේ. 
else

else condition එක යොදනුයේ if condition එකට පසුවය. else condition එක ක්‍රියාත්මක වනුයේ if condition එක false වූ විටය. මේ පිලිබදව පහත උදාහරණය මගින් තවත් පැහැදිලි වෙනු ඇත. 

class A{
    public static void main(String args[]){
          int i = 10;
           if(i<5){                            // 1 line
        System.out.println("print true ");
          }else{                                // 2 line
        System.out.println("print else");
          }
       }
}
print else

  • 1line  එකේ boolean එක false වේ. එම නිසා සගල වරහන් තුලට JVM එක ගමන් නොකරයි. 
  • 2 line එකේ  else තිබෙන නිසා  එහි ඇති සගල වරහන්  තුලට JVM එක ගමන් කර එහි ඇති print else  ලෙස ප්‍රින්ට් කරයි. (else යන්නෙන් අදහස් කරනුයේ 'එසේත් නැතිනම්' යන්නයි.....)

 එහෙනම් අදට ඇති වගේ. දෙවන පොස්ට් එකෙන් හමුවෙමු .......



1 comment: