Tuesday, May 26, 2015

Lesson 09


ඉතින් යාලුවනේ ඔන්න අදත් මම තවත් අලුත් පාඩමක් අරගෙන අවා අද මම ඔයාලට කියල දෙන්න යන්නේ java වල එන arrays ගැන පොඩි හැදින්වීමක්. මේකෙත් ඉතින් මහලොකු දෙයක් නෑ අපි කලින් කරපු variable define කරපු එකටම අගට කොටු වරහන් දෙකක් දාන එක විතරයි කරන්නේ හික් හික්.... එහෙම නම් ඉතින් හා හා පුරා කියල වැඩේ පටන්ගමුකෝ කොහොමද කියල බලන්න එක්කම.

Array එකක් කියන්නේ එකමජතියේ variables සෙට් එකක් තියාගෙන ඉන්න object එකක් කිවුවත් වරදක් නෑ.

Array එකක තියන variable එකකට අපි කියන්නේ element එකක් කියලයි.

වැදගත් ම කරුණ තමයි arrays have zero based index :D හැබැටම මොන හරුපයක් ද ඒ හික් හික් :P 

ඒ කියන්නේ array එකක් පටන් ගන්නේ 0 කියන ස්ථානයෙන් කියල ඊටපස්සේ එක, දෙක, තුන ඔහොම යනවා යනවා යනවා ඉතින් හික් හික් :P 

අපි බලමුකෝ එහෙනම් කොහොමද මේකේ syntax එක තියෙන්නේ කියල 



dataType[] arrayRefVar;   // preferred way.

      or

dataType arrayRefVar[];  //  works but not preferred way.




Programmer කෙනෙක් විදියට මම නම් recommend කරන්නේ පලවෙනි විදිය use කරනවානම් ගොඩක් හොදයි කියල. 

syntax එක දිහා බලාගෙන කන්නද එහෙනම් අපි ඒ විදියට එකක්හදල බලමු.




int[] myList;         // preferred way.

or

int myList[];         //  works but not preferred way.




ඔන්න ඔහොමයි වැඩේ වෙන්නේ හික් හික් වැඩේ ඉතා සරලයි නේද ;) 


එහෙනම් ඉතින්  දැන් අපි බලමු අපි ඔය කියපු එක දල array එක කොහොමද හරියට හදාගන්නේ කියල.

වැඩි දෙයක් නෑ හික් හික් එහෙටයි මෙහෙටයි අර data type එක දල මැදට  new කියල කැල්ලක් එකතු කරනවා :P (ගොඩක් තේරුණා නේ..... හික්ස්)
 
එහෙනම් තේරුනේ නැති උදවිය දැන් බලාගන්නකෝ කොහොමද වැඩේ වෙන්නේ කියල.



int marks[]=new int[10]; දැන් තේරුණා නේ එහෙනම් නේද එහෙටයි මෙහෙටයි data type එක දැම්ම මැදට new කියල කැල්ලක් දැම්ම වැඩේ ගොඩ දැන් අපි array එක හදාගෙන ඉවරයි.
ඔයාලට ඕනේ නම් මෙහෙමත් ඕක කරගන්න පුළුවන්


String[] names;
names=new String[10];

එහෙනම් වැඩේ තේරුණා නේ කස්ටියටම 
අපි එහෙනම් දැන් බලමු මොනවද මේ array එකේ තියන ඒවා කියල මේක බලන්නකෝ එතකොට තේරෙයි සේරම ටික 


 

ඒ වැඩෙත් ගොඩ එහෙනම්

දැන් ඉතින් කරන්න තියෙන්නේ එකින් එක values add කරගෙන යන එකයි. 





public class TestArray {
    
    public static void main(String[] args) {
        
        String[] names;
        
        names = new String[5];
        
        names[0] = "Danna";
        
        names[1] = "Sinhalen";
        
        names[2] = "Java";
        
        names[3] = "Igena";
        
        names[4] = "Gamu";
        
        System.out.print(names[0] + " ");
        
        System.out.print(names[1] + " ");
        
        System.out.print(names[2] + " ");
        
        System.out.print(names[3] + " ");
        
        System.out.print(names[4] + ".");
        
    }
    
}




ඔයාලට result එක විදියට එන්න ඕනේ Danna Sinhalen Java Igena Gamu. කියල කොහොමද ලස්සනට වැඩේ වෙනවා නේද ;)

ඒ වගේම ඔයාලට මෙහෙමත් කරන්න පුළුවන් 




public class TestArray {

    public static void main(String[] args) {

        String[] names = { "DANNA", "SINHALEN", "JAVA", "IGENA", "GAMU" };

        System.out.print(names[0] + " ");

        System.out.print(names[1] + " ");

        System.out.print(names[2] + " ");

        System.out.print(names[3] + " ");

        System.out.print(names[4] + ".");

    }

}




ඔයාලට result එක විදියට එන්න ඕනේ DANNA SINHALEN JAVA IGENA GAMU.

මේ දෙවිදියටම ඔයාලට ලස්සනට වැඩේ කරන්න පුළුවන්
ඒ වගේම ඔයාල දැනගන්න ඕනේ තව වැදගත් දෙයක් තියනවා ඒ තමයි array එකක size එක දැනගන්නේ කොහොමද කියල 
බලන්නකෝ එහෙනම් එකත් කරන විදිය



public class TestArray {

    public static void main(String[] args) {

        String[] names = { "DANNA", "SINHALEN", "JAVA", "IGENA", "GAMU" };

        System.out.println(names.length);

    }

}



මේකෙදි ඔයාලට result එක විදියට එන්න ඕනේ 5 කියල එක එන්නේ මම හදල තියන array එකේ values තියෙන්නේ 5 නිසා ඔයාල තව values add කරලා බලන්න මොකද වෙන්නේ කියල.
ඊටපස්සේ ඉතින් මම කියල දෙන්න යන්නේ 2D Arrays ගැන
හැබැටම මොනවද මේ 2D arrays කියල කියන්නේ 


මේකෙදි කරන්නේ arrays ඇතුලේ තව arrays දාන එකයි 


එචර අමාරු නෑ කරලා බලන්නකෝ එහෙනම්,



public class Test2DArray {

    public static void main(String[] args) {

        int rows = 6;
        
        int columns = 5;

        int i, j;

        int[][] aryNumbers = new int[6][5];

        aryNumbers[0][0] = 10;
        
        aryNumbers[0][1] = 50;
        
        aryNumbers[0][2] = 20;
        
        aryNumbers[0][3] = 12;
        
        aryNumbers[0][4] = 11;
        
        
        aryNumbers[1][0] = 20;
        
        aryNumbers[1][1] = 10;
        
        aryNumbers[1][2] = 40;
        
        aryNumbers[1][3] = 24;
        
        aryNumbers[1][4] = 22;
        
        
        
        
        aryNumbers[2][0] = 30;
        
        aryNumbers[2][1] = 15;
        
        aryNumbers[2][2] = 60;
        
        aryNumbers[2][3] = 36;
        
        aryNumbers[2][4] = 33;
        
        
        
        
        aryNumbers[3][0] = 40;
        
        aryNumbers[3][1] = 20;
        
        aryNumbers[3][2] = 80;
        
        aryNumbers[3][3] = 48;
        
        aryNumbers[3][4] = 44;
        
        
        
        
        aryNumbers[4][0] = 50;
        
        aryNumbers[4][1] = 25;
        
        aryNumbers[4][2] = 10;
        
        aryNumbers[4][3] = 60;
        
        aryNumbers[4][4] = 55;

        
        
        
        aryNumbers[5][0] = 60;
        
        aryNumbers[5][1] = 30;
        
        aryNumbers[5][2] = 12;
        
        aryNumbers[5][3] = 72;
        
        aryNumbers[5][4] = 66;

        
        for (i = 0; i < rows; i++) {
            
            for (j = 0; j < columns; j++) {
                
                System.out.print(aryNumbers[i][j] + " ");
                
            }
            
            System.out.println("");
            
        }
        

    }
    

}




මේකේ result එක ඔයාලට මෙන්න මෙහෙම ලස්සනට එන්න ඕනේ
10 50 20 12 11
20 10 40 24 22
30 15 60 36 33
40 20 80 48 44
50 25 10 60 55
60 30 12 72 66


කොහොමද වැඩේ :D
එහෙනම් ඉතින් දැන් යන්න වෙලාව හරි ඔයාලට පුළුවන් මේ වගේම 3D array එකකුත් කරලම බලන්න එකට values 3ක් එනවා

int[][][] aryNumbers = new int[6][5][4];

මෙන්න මේ වගේ එකක් තමයි එතකොට එන්නේ එහෙනම් එක ට්‍රය් කරලම බලන්නකෝ කොහොමද කියල 

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

 




No comments: