Thursday, April 23, 2015

Lesson 05

ඉතින් යාලුවනේ කොහොමද ඈත ඔන්න එහෙනම් මම අලුත් ජාවා පාඩමක් අරගෙන අවා අද ඉතින් අපිට කරන්න තියෙන්නේ අපි කලින් පාඩමේදී කරපු operators වල ඉතුරු ටික එහෙනම් ඉතින් දැන් වැඩ පටන් ගමු කට හැර අපි කරපු පරණ operators පාඩම බලන්න බැරි උන නම් මෙන්න තියනවා ලින්කුව ගිහින් හොදට බලන්න මේවා අපිට ඉස්සරහට ගොඩක් ඕනේ වෙනවා



එහෙනම් ඉතින් අපිට අද බලන්න තියෙනෙනේ Bitwise Operators ගැන අපිට Bitwise Operators ගත්තහම වර්ග කීපයක් තියනවා අපි බලමු ඒ මොනවද කියල.




එහෙනම් ඉතින් වැඩ පටන් ගමු. මුලින් ම බලමු Binary AND Operator එක ගැන,

මෙකෙදි වෙන්නේ අපි හිතන්න අපි a, b කියල variable දෙකක් අරන් තියනවා a ගේ value  එක 5 b ගේ value එක 3 කියල මුලින් ම අපි program එක run කරහම වෙන්නේ මේ values ඔක්කොම binary වලට convert වෙනවා ඒ කියන්නේ a = 0000 0101   b = 0000 0011
ඊට පස්සේ ඉතින් කරන්නේ and operator එකේ වැඩේ ඔයාලට පොඩිකාලේ truth table ගහල කරේ bitwise and operator එකේදී වෙන්නේ අගයන් දෙකම true වෙනවනම් result එක true කියන එකයි 


a = 0000 0101
b = 0000 0011

ඒ කියන්නේ මෙතන අගයන් දෙකම true උනහම අපිට ලැබෙන්නේ
0000 0001 කියන result එක ඒ කියන්නේ මේක decimal වලට convert කරහම අපිට එන්නේ 1 කියන අගය

එහෙනම් ඉතින් අපි දැන් බලමු Binary OR Operator ගැන,
මේකෙදි වෙන්නෙත් කලින් උනා වගේම තමයි මුලින් ම binary වලට convert වෙනවා ඊට පස්සේ bitwise OR operator එක ඒ කියන්නේ values දෙකම false නම් result එක  false අනිත් හැම අවස්ථාවේදීම  true කියන එකයි.


එහෙනම් ඉතින් අපි දැන් බලමු Binary XOR Operator ගැන,
 මේකෙදි වෙන්නේඅගයන් දෙකෙන් එකක් හරි true උනොත් result එක true දෙකම true උනොත් හරි දෙකම false උනොත් හරි result එක false.

දැන් අපි බලමු Binary Ones Complement Operator එක ගැන,
මේක හරිම සරලයි මේකෙදි මෙන්න මේ operation එක තමයි වෙන්නේ -(x+1) හිතන්න අපි  20 දුන්න කියල අපිට result එක එන්නේ -(20+1) ඒ කියන්නේ -21 කියල ඉතා සරලයි හික් හික් .... :D



ඊලගට තියෙන්නේ අපිට Binary Left Shift Operator එක ගැන, මේකෙදි කරන්නේ වම් පැත්තේ operand එකේ තියන සියලුම bits දකුණු පැත්තේ තියන operand එකේ සදහන් ප්‍රමාණයෙන් වමට shift කරන එකයි




බලන්න මේ අපි අරගෙන තියෙන්නේ 7 කියන සංඛ්‍යාව මේක එකකින් 
Left Shift කරහම වෙන දේ තමයි ඔය කරලා පෙන්නලා තියෙන්නේ අගට 0 add වෙනවා. මේක හොයාගන්න ලේසි විදියකුත් තියනවා ඒ තමයි අපි එකකින් shift කරොත් අපි shift කරන සංඛ්‍යාව දෙකෙන් වැඩි කරහම අපිට එන්නේ ඒ answer එක තමයි ඒ වගේම 2 කින් shift කරනවානම් 4 ගුණ කරනවා 3 කින් shift කරනවානම් 8න් ගුණ කරනවා ඔය වගේ යනවා



ඊලගට තියෙන්නේ අපිට Binary Right Shift Operator එක ගැන, මේකෙදි කරන්නේ දකුණු පැත්තේ operand එකේ තියන සියලුම bits වම් පැත්තේ තියන operand එකේ සදහන් ප්‍රමාණයෙන් දකුණට shift කරන එකයි.


 ඊලගට අපිට තියෙන්නේ Shift right zero fill operator එක ගැන,
මේකත් Binary Right Shift Operator එක වගේම තමයි වෙනසකට තියෙන්නේ සංඛ්‍යාවේ ධන සෘණ අදුරගන්න තියන bit එකත් shift වෙන්වා. එක නිසා මේ operator එක use කරනකොට සංඛ්‍යාවේ ලකුණ වෙනස් වෙන්න පුළුවන්.

එහෙනම් ඉතින් මේ ඔක්කොම ටික දාල මම ඔයාලට example එකක් කරන්නම් එතකොට මේ ඔක්කොම හොදට තේරුම් ගන්න පුලුවන්

එහෙනම් ඉතින් notepad එක අරගෙන කොටන එකයි තියෙන්නේමේ code කෑල්ල 





public class BitwiseOperators {

    public static void main(String args[]) {

        int a = 35;         /* 35 = 0010 0011 */
        
        int b = 23;         /* 23 = 0001 0111 */
        
        int c = 0;

        c = a & b;             /* 3 = 0000 0011 */
        
        System.out.println("a & b = " + c);

        c = a | b;            /* 55 = 0011 0111 */
        
        System.out.println("a | b = " + c);

        c = a ^ b;             /* 52 = 0011 0100 */
        
        System.out.println("a ^ b = " + c);

        c = ~a;             /*-36 = 1101 1011 */
        
        System.out.println("~a = " + c);

        c = a << 2;             /* 140 = 1000 1100 */
        
        System.out.println("a << 2 = " + c);

        c = a >> 2;         /* 8 = 1000 */
        
        System.out.println("a >> 2  = " + c);

        c = a >>> 2;         /* 8 = 0000 1000 */
        
        System.out.println("a >>> 2 = " + c);
        
    }

}





Compile Command :- javac BitwiseOperators.java
Run Command :- java BitwiseOperators
Result,



a & b = 3
a | b = 55
a ^ b = 52
~a = -36
a << 2 = 140
a >> 2  = 8
a >>> 2 = 8


ඊටපස්සේ අපි බලමු Logical Operators ගැන දැන් ඉතින් මේකේ කතා කරන්න දෙයක් නෑ මේ ටිකම අපි කරා 
මේකෙදි අපිට තියෙන්නේ,

  • Logical  AND
  • Logical  OR
  • Logical  NOT


Logical  AND එකේදී වෙන්නේ අපි කලින් කරා වගේම තමයි දෙකම true  නම් output එක true

Logical  OR එකේදී වෙන්නේ දෙකෙන් එකක් true නම් condition එක true වෙනවා මේකේ විශේෂත්වය තමයි  binary එකේ වගේ operands දෙකම check කරන්නේ නෑ පලවෙනි එක true නම් condition එක true වෙනවා

Logical  NOT එකේදී වෙන්නේ Logical  AND එකේ අනිත් පැත්ත ඒ කියන්නේ දෙකම true  නම් output එක true එකේ not එක ඒ කියන්නේ false කියන එක

අපි මේ උදාහරණය කරලම බලමු එහෙනම්,



public class LogicalOperators {

    public static void main(String args[]) {

        boolean a = true;
        
        boolean b = false;

        System.out.println("a && b = " + (a && b));

        System.out.println("a || b = " + (a || b));

        System.out.println("!(a && b) = " + !(a && b));
    }

}






Compile Command :- javac LogicalOperators.java
Run Command :- java LogicalOperators
Result,

a && b = false
a || b = true
!(a && b) = true


කොහොමද  එළකිරි එකට වැඩ නේද එහෙනම් ඉතින් දැන් යන්න වෙලාව හරි අයෙත් තවත් operators පාඩමකුත් අරගෙන ඉක්මනටම එන්නම් එතකන් මේක කරලා හොදට පුරුදු වෙන්නකෝ එහෙනම් ඉතින් මම ගියා හැමෝටම ජය වේවා!!!!












Thursday, April 16, 2015

Lesson 04


ඉතින් යාලුවනේ ඔන්න අදත් මම ඔයාලට අලුත් පෝස්ටුවක් අරගෙන අවා අද මම ඔයාලට කියල දෙන්න යන්නේ java වල තියන operators ගැන පොඩි විස්තරයක්.

Java වල අපිට operators ජාති කිපයක්ම හම්බවෙනවා අපි බලමු ඒ මොනවද කියල එහෙනම්,



  • Arithmetic Operators
  • Relational Operators
  • Bitwise Operators]
  • Logical Operators
  • Assignment Operators
  • Misc Operators



එහෙනම් ඉතින් දැන් හා හා පුරා කියල වැඩේට බහිමු.
මුලින්ම බලමු එහෙනම් මොනවද මේ Arithmetic operators කියන්නේ කියල.
Arithmetic operators කියල කියන්නේ mathematical expressions වලට use කරන operators e කියන්නේ අපි ගණන් හදන්න use කරන operators :D හැමෝම දන්න ඒවා ටිකක් තමයි මේකේ තියෙන්නේ අපි බලමු ඒ මොනවද කියල එහෙනම්.



  • Addition
  • Subtraction 
  • Multiplication
  • Division
  • Modulus
  • Increment 
  • Decrement 



Addition මේක ඉතින් හැමෝම දන්නවනේ හික් හික් අපි මේකෙදි කරන්නේ සංඛ්‍යා දෙකක් එකතු කරන එකයි හරියට 2 + 2 = 4 ඔන්න ඔය වගේ සරල දෙයක්.

Subtraction මේක ඉතින් Addition එකේ අනිත් පැත්ත නේ මේකෙදි කරන්නේ සංඛ්‍යා දෙකක් අඩු කරන එක හරියට 5 - 3 = 2 වගේ එකක්.

Multiplication එකත් ඉතින් හැමෝම දන්නවනේ මේකේ කරන්නේ සංඛ්‍යා දෙකක් වැඩි කරනවා එහෙමත් නැත්තම් ගුණ කරන එක හරියට 2 * 5 = 10 වගේ දෙයක්

Division මේක ඉතින් Multiplication එකේ අනිත් පැත්ත මේකෙදි වෙන්නේ එක් සංඛ්‍යාවක්  අනෙක් සංඛ්‍යාවෙන් බෙදන එක හරියට 20 / 2 = 10 වගේ දෙයක් 

Modulus හ්ම්ම්ම් මේකනම් ටිකක් අලුත් එකක් වගේ නේද ඇත්තටම Modulus කියන එකෙන් කරන්නේ සංඛ්‍යා දෙකක් බෙදල ඉවර උනහම ඉතුරුවෙන Remainder එක කියාද කියන එකයි හරියට 10 / 3 = 3.3
ඒ කියන්නේ 10 % 3 කියන්නේ 1 කියන එකයි 10 ට 3 ගොඩවල් 3ක් තියනවා ඉතුරුවෙනවා එකක් අන්න ඒ එක තමයි remainder එක කියන්නේ එතකොට 10 % 3 = 1

Increment කියන එක ගත්තහම අපිට මේක කොටස් දෙකකට බෙදන්න පුළුවන් ඒ තමයි, 


  • Pre Increment
  • Post Increment

Increment කියන එකේදී වෙන්නේ එකක් එකතුවෙන එකයි මේකේ pre increment එකේදී වෙන්නේ එකක් එකතුවෙලා value එක return කරනවා කියන එකයි. post increment එකේදී වෙන්නේ value එක return කරලා එකක් එකතු කරනවා කියන එකයි. 


Decrement කියන එක ගත්තහම අපිට මේක කොටස් දෙකකට බෙදන්න පුළුවන් ඒ තමයි,


  • Pre Decrement
  • Post Decrement

Decrement කියන එකේදී වෙන්නේ එකක් අඩුවෙන එකයි මේකේ pre Decrement එකේදී වෙන්නේ එකක් අඩුවෙලා value එක return කරනවා කියන එකයි. post Decrement එකේදී වෙන්නේ value එක return කරලා එකක් අඩු කරනවා කියන එකයි. ඉතා සරලයි නේද :D හික් හික් ...

එහෙනම් ඉතින් අපි දැන් මේ කියල දීපුවා හරිද කියල බලන්නත් එපැයි එහෙනම් ඉතින් කස්ටිය notepad එකක් අරගෙන හා හා පුරා කියලා මේ code එක කොටගෙන යන්නකෝ,




public class Operators {

  public static void main(String args[]) {
      
     int a = 10;
     
     int b = 25;
     
     int c = 30;
     
     int d = 40;
     
     System.out.println("a + b = " + (a + b) );//addition
     
     System.out.println("a - b = " + (d - b) );//subtraction
     
     System.out.println("a * b = " + (a * b) );//multiplication
     
     System.out.println("b / a = " + (b / a) );//division
     
     System.out.println("b % a = " + (c % b) );//modulus
     
     System.out.println("a++   = " +  (a++) );//post increment
     
     System.out.println("b--   = " +  (a--) );//post decrement
     
     System.out.println("++d   = " +  (++d) );//pre increment
     
     System.out.println("--d   = " +  (--d) );//pre decrement
     
 }

} 




save file as Operators.java
compile command : javac Operators.java
run command : java Operators

Result එක එන්නේ,


a + b = 35
a - b = 15
a * b = 250
b / a = 2
b % a = 5
a++   = 10
b--   = 11
++d   = 41
--d   = 40



ඊටපස්සේ ඉතින් අපි බලමු Relational Operators ගැන පොඩි විස්තරයක්,

Relational Operators ගත්තහම කීපයක් තියනවා අපි බලමු ඒවා මොනවද කියල එහෙනම්,


  • Equal
  • Not Equal
  • Greater Than
  • Less Than
  • Greater Than Equal
  • Less Than Equal



Equal මේකෙන් පුළුවන්  අපි define කරපු variable දෙකක් සමානද කියල අපිට බලාගන්න අපි මේකට use කරන්නේ " == " ලකුණ 
ඔයාල දන්නවා ඇති programming වල ' = ' sign එකෙන් කියන්නේ assign කරනවා කියන එකයි අපිට Equal ද කියල බලන්න ඕනේ නම් අපි ' = ' sign දෙකක් use කරනවා  හරියට 

int x = 10;
int y = 10;

System.out.println(x == y);

මේකේ answer එක එන්නේ අපිට Boolean value එකකින්. 


Not Equal මේකෙදි අපි check කරන්නේ values දෙක සමාන නැද්ද එහෙමත් නැත්තම් අසමානද කියලයි. sign එක " != ".

 Greater Than මේ operator එකේදී වෙන්නේ එක value එකක් අනිත් value එකට වඩා  විශාලද කියල check කරලා බලන එකයි. sign එක " >".

Less Than මේ operator එකේදී වෙන්නේ එක value එකක් අනිත් value එකට වඩා  කුඩාද කියල check කරලා බලන එකයි. sign එක " < ".


Greater Than Equal මේ operator එකේදී වෙන්නේ එක value එකක් අනිත් value එකට වඩා  විශාලයි හෝ සමානද  කියල check කරලා බලන එකයි. sign එක " >= ".


Less Than Equal මේ operator එකේදී වෙන්නේ එක value එකක් අනිත් value එකට වඩා  කුඩා හෝ සමානද  කියල check කරලා බලන එකයි. sign එක " <= ".


එහෙනම් ඉතින් අපි දැන් example එකක් කරලම බලමු කොහොමද කරන්නේ කියල.




public class RelationalOperators {

    public static void main(String args[]) {

        int a = 30;
        
        int b = 50;
        
        System.out.println("a == b = " + (a == b));// Equal
        
        System.out.println("a != b = " + (a != b));// Not Equal
        
        System.out.println("a > b = " + (a > b));// Greater Than
        
        System.out.println("a < b = " + (a < b));// Less Than
        
        System.out.println("b >= a = " + (b >= a));// Greater Than Equal
        
        System.out.println("b <= a = " + (b <= a));// Less Than Equal

    }

}







save file as RelationalOperators.java
compile command : javac RelationalOperators.java
run command : java RelationalOperators

Result එක එන්නේ,



a == b = falsea != b = truea > b = falsea < b = trueb >= a = trueb <= a = false



කස්ටියම එහෙනම් මේ ටික හොදට practice කරන්න මේවා අපිට ඉස්සරහට ගොඩාක් ඕනේ වෙනවා. 

මම operators වල ඉතුරු සෙට් එක අයෙත් තවත් පාඩමකින් කියල දෙන්නම් දැන් ඉතින් පොඩි වැඩ වගයක් සෙට් වෙලා යන්න වෙනවා එහෙනම් ඉතින් සෙට් වෙමු අයෙත් තවත් අලුත් පොස්ටුවකුත් අරගෙන.

එහෙනම් ඉතින් හැමෝටම ජයවේවා!!! 


මතක ඇතුව කොමෙන්ටුවකුත් දාලම යන්න හොදේ....









Tuesday, April 14, 2015

Lesson 03


හැමෝටම ලැබුවා වූ නව වසර කිරියෙන් පැණියෙන් ඉතිරෙන පැතූ පැතුම් ඉටු වෙන සුබම සුබ නව වසරක් වේවා!!! 



ඔන්න ඉතින් මම අදත් මේ අලුත් අවුරුදු දවසේ ඔයාල වෙනුවෙන් තවත් අලුත් java පාඩමක් අරගෙන අවා අද මම ඔයාලට කියල දෙන්න යන්නේ java වල තියන access modifiers ගැන 

මොනවද  access modifiers කියන්නේ ඔයාලට මේකේ name එකෙන් ම අදහස ගන්න පුළුවන් මේකෙන් කරන්නේ අපි use කරන classes, variables, methods, constructors වගේ ඒවාට තියන access control කරන්න තමයි මේවා use කරන්නේ මේක අයිති වෙන්නේ Encapsulation එහෙමත් නැතිනම් information hiding කියල අපි කියන OOP Concept එකටයි. වැඩි විස්තර OOP කරනකොට කියල දෙන්නම් කෝ ඔයාලට දැනට ඔහොම මතක තියාගන්නකෝ.

ප්‍රධාන වශයෙන් access modifiers වර්ග 4 ක් අපිට හම්බවෙනවා java වල ඒවා තමයි,


  • public
  • protected
  • private 
  • default




අපි එහෙනම් බලමු මේ එක එක එහෙනම්,

මුලින් මම බලමු අපි public කියන modifier එක ගැන,

ඔයාලට මේකට ගන්න පුළුවන් හොදම උදාහරණය තමයි අපි java වල use කරන main method එක,


public static void main(String args[]){
       //more code here

මෙතන public කියන access modifier ඒකජ තමයි use කරලා තියෙන්නේ 
public modifier එක දානකොට අපි දැනගන්න ඕනේ ඒවා ටිකක් තියනවා එහෙනම් බලාගන්නකෝ, 


  • Public can apply  to top level classes, interfaces, methods, member variables.
  •  Can be accessed within any class in the same package or any other package



ඊලගට අපිට තියෙන්නේ protected modifier එක මේකේ අපි දැනගන්න ඕනේ දේවල් තමයි මේ තියෙන්නේ,

  • Protected can apply only to methods and member variables.
  • Can be accessed within any class in the same package.
  • Out Side Package classes are not allow. If  out side inherited classes will allowed to access.



ඊලගට අපිට තියෙන්නේ private modifier එක මේකේ අපි දැනගන්න ඕනේ දේවල් තමයි මේ තියෙන්නේ,


  • Private can apply only to methods and member variables.
  • Can be accessed only within same class scope. 




ඊලගට අපිට තියෙන්නේ default modifier එක මේකේ අපි දැනගන්න ඕනේ දේවල් තමයි මේ තියෙන්නේ,


  • Default can apply only to classes, methods and member variables.
  • Can be accessed within any class in the same package.
  • Out Side Package classes are not allow. 




මේ ටික සේරම මතක තියාගන්න ටිකක් අමාරුයි නේ එක නිසා මෙන්න මේක බලන්න මේක බැලුවම ඔය ඔක්කොම ටික මතක තියාගන්න පුළුවන්,






එහෙනම් ඉතින් මේ ටික කස්ටිය හොදට බලාගන්න මේවා ඉස්සරහට ගොඩක් වැදගත් වෙනවා ඒවගේම Non access modifiers ගැන මම ඔයාලට ඉස්සරහට කියල දෙන්නම් එක දැන් කියල දුන්නට ඔයාලට එක තේරෙන එකක් න එක නිසා අපි තව අලුත් දේවල් ඉගෙනගතට පස්සේ ඒ ටික මම කියල දෙන්නම් ඔයාලට 

එහෙනම් ඉතින් හැම කෙනෙක්ටම කරදර ජරමර බරබර වලින් තොර උන සුබම සුබ නව වසරක් වේවා! 

ඔයාලට ප්‍රශ්න තියනවනම් අපි මේ කරන දේවල් සම්බන්දව මගෙන් අහන්න ඒවා :)
එහෙනම් ඉතින් අදට යන්න වෙලාව හරි අයෙත් දවසක තවත් අලුත් පාඩමක් අරගෙන එන්නම් යාලුවනේ 


යන්න කලින් මතක ඇතුව කොමෙන්ටුවකුත් දාලම යන්න හොදේ....



 






Wednesday, April 8, 2015

Lesson 02


ඉතින් යාලුවනේ කොහොමද අද මම ඔයාලට කියල දෙන්න යන්නේ java වල අපිට තියන variables, data types වගේ ඒවා ටිකක් ගැන 

මුලින් ම එහෙනම් අපි බලමුකෝ මොනවද මේ variable කියන්නේ කියල.

"Variable is  name of a reserved area allocated in memory."


අපිට java ගත්තහම variable ජාති 3ක් හම්බවෙනවා ඒවා තමයි,

  • Local Variable(Automatic Variable/ Stack Variable)
  • Instance Variable(Non Static Fields/ Global Variable)
  • Static Variable(Class Variable)



Local Variable(Automatic Variable/ Stack Variable)

මෙවගෙ ලක්ෂණ ටිකක් තියනවා අපි බලමු ඒ මොනවද කියල,
  • Local variables are declared in methods,   constructors, or blocks.
  • Local variable will be destroyed once it exits the method, constructor or block.
  • Access modifiers cannot be used for local variables.
  • Local variable does not initialize to default. Local variable should be explicitly assigning value. Local Variables are live within method scope only.

Instance Variable(Non Static Fields/ Global Variable)

  •       Instance Variable values are depend on the object which created.
  •       Class Variable values are depend on the Class. Class variables are known as class constants.

Static Variable(Class Variable)

  • Static variables are created when the program starts and destroyed when the program stops.
  •  Static variables are loading with the class load time.Static variables can be accessed by calling with the class name. 


මම මේ මේ variable type 3ම ඔයාලට එක example එකකින් පෙන්නන්නම් කොහොමද use කරන්නේ කියල 


class VariableTest 
{  

int x= 100;  //instance variable  

static int y= 150;  //static variable  

void method ()
        {  

int z = 90;  //local variable  

        }  

}    


එහෙනම් ඉතින් දැන් අපි යමු data types වලට, data types ගත්තහම අපිට 

  • Primitive Data Type
  • Non Primitive Data Type

විදියට කොටස් දෙකකට බෙදන්න පුළුවන් 

මෙන්න මේක බැලුවම හොදට තේරෙයි කොහොමද වෙන්නේ කියල 



primitive data type එක ගත්තහම අපිට data type 8ක් හම්බවෙනවා ඒවා තමයි,

  • byte
  • short
  • int
  • long
  • float
  • double
  • char
  • boolean

මේ data type ගත්තහම ඔයාල දැනගන්න ඕනේ වැදගත් දේවල් ටිකක් තියනව මේ ටික මතක තියාගන්න අපිට මේවා ඉස්සරහට වැදගත් වෙනවා.

byte
  • Byte data type is an 8-bit signed two's complement integer.
  • Minimum value is -128 (-2^7)
  • Maximum value is 127 (inclusive)(2^7 -1)
  • Default value is 0
  • Byte data type is used to save space in large arrays, mainly in place of integers, since a byte is four times smaller than an int.
  • Example: byte a = 100 , byte b = -50


short
  • Short data type is a 16-bit signed two's complement integer.
  • Minimum value is -32,768 (-2^15)
  • Maximum value is 32,767 (inclusive) (2^15 -1)
  • Short data type can also be used to save memory as byte data type. A short is 2 times smaller than an int
  • Default value is 0
  • Example: short s = 10000, short r = -20000




int
  • Int data type is a 32-bit signed two's complement integer.
  • Minimum value is - 2,147,483,648.(-2^31)
  • Maximum value is 2,147,483,647(inclusive).(2^31 -1)
  • Int is generally used as the default data type for integral values unless there is a concern about memory.
  • The default value is 0
  • Example: int a = 100000, int b = -200000



long
  • Long data type is a 64-bit signed two's complement integer.
  • Minimum value is -9,223,372,036,854,775,808.(-2^63)
  • Maximum value is 9,223,372,036,854,775,807 (inclusive). (2^63 -1)
  • This type is used when a wider range than int is needed.
  • Default value is 0L
  • Example: long a = 100000L, int b = -200000L



float
  • Float data type is a single-precision 32-bit IEEE 754 floating point.
  • Float is mainly used to save memory in large arrays of floating point numbers.
  • Default value is 0.0f
  • Float data type is never used for precise values such as currency.
  • Example: float f1 = 234.5f



double
  • double data type is a double-precision 64-bit IEEE 754 floating point.
  • This data type is generally used as the default data type for decimal values, generally the default choice.
  • Double data type should never be used for precise values such as currency.
  • Default value is 0.0d
  • Example: double d1 = 123.4



char
  • char data type is a single 16-bit Unicode character.
  • Minimum value is '\u0000' (or 0).
  • Maximum value is '\uffff' (or 65,535 inclusive).
  • Char data type is used to store any character.
  • Example: char letter A ='A'



boolean
  • boolean data type represents one bit of information.
  • There are only two possible values: true and false.
  • This data type is used for simple flags that track true/false conditions.
  • Default value is false.
  • Example: boolean one = true




අයෙත් වැදගත් ම දේ තමයි මේ data types වල default values මේ ටිකත් මතක තියාගන්න ඕනේ,



අහ්හ් තව පොඩ්ඩෙන් අමතක වෙනවා ඔයාලට පොඩි දෙයක් කියල දෙන්න මේ කියන්න හදන්නේ java වල තියන Escape sequences ගැනයි

හික් හික්  එහෙනම් ඉතින් කස්ටිය මේ ටිකක්ත් බලාගන්නකෝ




එහෙනම් ඉතින් දැන් මට යන්න වෙලාව හරි  වැඩ ගොඩාක් තියනව කරන්න අයෙත් අලුත් පොස්ටුවකුත් අරගෙන එන්නම් එතකන් හැමෝටම ජය වේවා!!!













Monday, April 6, 2015

Lesson 01


ඔන්න එහෙනම් නමොවිත්තියෙන් පටාන් ගන්න හදන්නේ කස්ටියට JAVA කියල දෙන්න කියල. හැමෝම දන්නවා වගේ Java තමයි අද ලෝකේ වැඩියෙන්ම පැතිරිලා තියෙන්නේ. අද පරිගණකයක් ගත්තත් දුරකතනයක් ගත්තත් යන්ත්‍රයක් ගත්තත් හැම දේම අද Java වලින් තමයි කරලා තියෙන්නේ. එක නිසා මේ language එක ඉගෙනගන්න එක ඔයාල හැම කෙනෙක්ටම ගොඩාක් වැදගත් වෙයි කියල මම හිතනවා.
Java Language එක ගත්තහම මේක ලොකු පරාසයකට පැතිරිලා තියනවා. ගොඩාක් Advanced ඒවත් තියනවා හික් හික්...
මගේ මේ try එක ඔයාලට කොහොමහරි මේ දවසින් දවස වෙනස් වෙන ලෝකේ හැම තැනම ඉතාමත් වේගයෙන් පැතිරිලා යන මේ java ගැන ඔයාලට කියල දෙන්නයි.

හැබැටම දැන් ඔයාල බලනවා ඇති මේ වල් පල් කියවනවා java උගනන්න මෙයා කවුද කියල හික් හික්.....

එහෙනම් ඉතින් කියන්නම් කෝ දැන් මම ගැනත් පොඩි විස්තරයක්
මම කොලඹ විශ්වවිද්‍යාලයේ පරිගණක තාක්ෂණය පිලිබදව උපාදිය හදාරන පොඩි කොල්ලෙක් හික් හික් ... (පොඩිමත් නෑ හොදේ... ) :p
ඒ වගේම  Oracle Certified Java Programmer කෙනෙක් හික් හික්....
ඔයාලටත් ඉතින් මේ වගේ java side එකෙන් ගොඩක් ඉස්සරහට යන්න පුළුවන් කරන්න තියෙන්නේ ඉතින් හොදට java ටික අල්ලගෙන ඉස්සරහට යන්න තමයි.

දැන් ඉතින් ඔය මදැයි ඇදබාපුවා අපි දැන් බහිමු වැඩේට එහෙනම්,

හැබැටම මොකක්ද මේ programming language එකක් කියන්නේ?



"A Programming language is a formal constructed language designed to communicate instructions to a machine particularly a computer programming languages can be used to create programs to control the behavior of a machine or to express algorithms." 


ජනප්‍රිය programming languages කිව්වොත් එහෙම java, c#, c++, Python, c වගේ ඒවා තමයි තවත් ගොඩාක් තියනවා.

Java ගත්තහම මේකේ අපිට keywords 50ක් හම්බවෙනවා ඒ ඔක්කොම simple letters වලින් තමයි තියෙන්නේ මේ keywords 50 එන්නේ java 1.6 සංස්කරණය යටතේ තමයි. මේ 50 ම අපිට ඕනේ නැති වෙයි අපිට වැදගත් වෙන ටික මම ඔයාලට කියල දෙන්නම් කෝ. දැන් අපි බලමු මොනවද ඒ keywords ටික කියල,





java වල තියන විශේෂම දේ තමයි java compiler එකක් වගේම interpreter එකක් විදියටත් වැඩ කරනවා. 
අඩේ මේ මොන හරුපයක් ද, හික් හික්

මෙහෙමයි අපි java file එකක් ලියල මුලින් ම කරන්නේ e file එක compile කරන එක එතකොට අපිට ලැබෙනවා .class file එකක් එහෙමත් නැත්ත්ටම් byte code කියලත් කියනවා මේක ඉතින් අපිට කියවන්න පුළුවන් එකක් නම් නෙමෙයි. කැමති කස්ටිය නොටෙපද් එකක් අරගෙන ඔපෙන් කරලා බලන්නකෝ ජිරිබිරිස් වචන සෙට් එකක් එන්නේ හික් හික් :D 

ඊට පස්සේ ඉතින් කරන්නේ interpret කරන එක මේකෙදි කරන්නේ java byte code එක machine code එකට හරවන එකයි.

java කියන language එක platform independence  ඕනේ platform එකක එළකිරි වගේ වැඩ Ex :- Linux, Windows, Macintosh 


අනිත් දේ තමයි java සම්පුර්ණයෙන්ම Object Oriented මේක ගැන සවිස්තරාත්මකව පස්සේ කරනවා බයවෙන්නෙපා දැන් මේ කියන ඒවා ගැන හික් හික්.


අනිත් දේ තමයි java වල තියන ස්වයංක්‍රිය කුනණුබක්කි පහසුකම(Automatic Garbage Collector) හික් හික් :p මොකක්ද මේ කුනුබක්කි කතාව මේකේ වෙන්නේ අපි පාවිච්චි නොකරන objects වගේ ඒවා ඉවත් කරන එකයි


හික් හික් දැන් ඉතින් අපි බලමු කොහොමද මේ java අපි දාගන්නේ කියල
මුලින් ම කරන්න තියෙන්නේ ඔයාලට මෙන්න මේ ලින්කුවට ගිහින් java JDK(java development kit) එක download කරගන්න එකයි.





ඔය ලින්කුවට ගිහින් java JDK එක download කරගන්න ඔයාලගේ pc එක අනුව 32 bit හරි 64 bit හරි,

ඊටපස්සේ ඉතින් අලුත් දෙයක් නෑ.. අනිත් software දානවා වගේම next next next කරගෙන යන්න තියෙන්නේ.


දැන් ඉතින් වැඩෙන් බාගයක් ඉවරයි දැන් කරන්න තියෙන්නේ path එක සෙට් කරන වැඩේ කරන්න එක කරන්න තියෙන්නේ මෙහෙමයි,


Start >> All Programs >> My Computer >> Right Click >> Properties >> Advance System Setting  >> Environment Variable >> New User Variable

දැන් Variable Name කියන තැන ගහන්න path කියලා
Variable value කියන තැන ගහන්න ඔයාලගේ machine එකේ ජාවා දාගත්ත තැන.ඒ folder එකෙත් ඇතුලට ගිහින් bin කියන එකට තියෙන පාත් එක දෙන්න
මගේ 
ආවෙ මෙහෙම හොදේ..

C:\Program Files\Java\jdk1.8.0\bin


වැඩේ ගොඩ දැන් ඉතින් 
java path එක අපිට e welawata විතරක් සෙට් කරගන්නත් පුළුවන් එක කරන්න ගන්න ඔයාලගේ CMD එක එහෙමත් නැත්තම් command prompt එක එක අරගෙන Set path = "C:\Program Files\Java\jdk1.8.0\bin" කියල දෙන්න වැඩේ ගොඩ නේද දැන් ඉතින් කරන්න තියෙන්නේ cmd එකේ javac කියල ගහල enter ඔබන එක හෙන පල් හෑල්ලක් එනවනම් වැඩේ එළකිරි එකට වෙලා තියනවා

බැරි වෙලාවත් එහෙම අවේ නැත්තම එහෙම මගෙන් comment එකක් දල අහන්නකො මම කියල දෙන්නම් වැඩේ කරන විදිහ :D


දැන් ඉතින් අපි බලමු කොහොමද java develop කරන්නේ කියල මුලින් ම අපිට develop කරන්න ටූල්  එකක් හොයාගන්න ඕනේ tools නම් ඉතින් ඔය ඕනේ තරම් තියෙන්නේ eg :- Netbeans, Eclipse, Jcreator වගේ ඒවා e උනාට ඉතින් මම නම් කියන්නේ ඔයාලට use කරන්න හොදම එක තමයි පටන් ගන්න නිසා notepad ++ මේක ගූගල් කරපු ගමන් එනවා download කරගත්ත කරගෙන යන එකයි තියෙන්නේ 


කස්ටිය දැන් බලාගෙන ඇති මේ කියවනවා කියවනවා code එකක්වත් ලියන්නේ නැද්ද කියල එකට තමයි දැන් මේ ලෑස්ති වෙන්නේ එහෙනම් ඉතින් කස්ටියම notepad එක අරගෙන මේ code කල්ල try කරලා බලන්නකෝ,




public class HelloWorld {

    public static void main(String[] args) {

        System.out.println("Welcome To My First Java Program!");

    }

}




දැන් ඉතින් කරන්න තියෙන්නේ මේ file එක save කරන්න ඕනේ class එකේ නමින් ම ඔයාල කැමති තැනක HelloWorld.java කියල 

දැන් ඉතින් cmd එක අරගෙන ඔයා save කරපු path එකට ගිහින් ගහන්න javac HelloWorld.java කියල 

දැන් program එක compile වේවි ගිහින් බලන්න ඔය save කරපු path එකට .class file එක හැදිලා ඇති

දැන් ඉතින් කරන්න තියෙන්නේ run කරන එකයි එක කරන්නේ,

java HelloWorld  කියල cmd එකේ ගහන්න දැන් ඉතින් එන්න ඕනේ ඔයාලට Welcome To My First Java Program! කියල 


කොහොමද එළකිරි වගේ වැඩ නේද :D හික් හික්...


එහෙනම් ඉතින් දැන් මට යන්න වෙලාව හරි වැඩ ගොඩක් තියනව කරන්න අයෙමත් දවසක අලුත් පාඩමක් අරගෙන එන්නම් යාලුවනේ

ඔයාලට ප්‍රශ්නයක් අවොත් java පිලිබදව මගෙන් අහන්න

අහ්හ් තවත් දෙයක් php ඉගෙනගන්න කැමති අය ඉන්වනම් මගේ php බ්ලොග් පිටුව බලන්න මේ ලින්කුවට ගිහින් 






එහෙනම් ඉතින් මම ගියා හැමෝටම ජය වේවා!!!!