BREAKING NEWS
🚀 Kaweesha launched the new AI Tech Blog! 💻 Python & Java Tutorials are now live. 🎮 Game Development Guide: Building 2D Games with Godot. 🌐 Web Hosting secrets revealed - Check the latest post!

Java Sinhala - Part 06: දත්ත ගොඩක් එකතැන තියමු! (Arrays & For-Each Loop) 📚📦

Java Arrays and Multi-dimensional Arrays deep explanation Sinhala Tutorial Part 06

පහුගිය පාඩම් වලින් අපි Variables ගැන කතා කළා මතකනේ? Variable එකක් කියන්නේ හරියට "පොඩි පෙට්ටියක්" වගේ. ඒකේ දාන්න පුළුවන් එක බඩුවයි (Value එකයි).

හිතන්න ඔයාට පන්තියක ඉන්න ළමයි 50 දෙනෙක්ගේ ලකුණු (Marks) සේව් කරගන්න ඕනේ කියලා. ඔයා int mark1, mark2, mark3... කියලා Variables 50ක් හදාගෙන යනවද? 🤯 එහෙම කළොත් කෝඩ් එක පේළි දහස් ගාණක් වෙයි!

අන්න ඒකට විසඳුම තමයි Arrays (ආරාවන්). සරලවම කිව්වොත්, Array එකක් කියන්නේ එක දිගට තියෙන පෙට්ටි පේළියක් (Rack එකක්). අපිට එක නමකින් (Variable Name) දත්ත ගොඩක් මේකේ දාන්න පුළුවන්. අද අපි මේ ගැන A-Z ඉගෙන ගමු. 👇

1. මොකක්ද මේ Array එකක් කියන්නේ? 📦

Array එකක් කියන්නේ එකම වර්ගයේ (Same Type) දත්ත රාශියක් ගබඩා කරන ස්ථානයක්.

Array එකක විශේෂ ලක්ෂණ:
  • Fixed Size: හදද්දිම කියන්න ඕනේ කීයක් දානවද කියලා. (පස්සේ වෙනස් කරන්න බෑ).
  • Same Type: ඉලක්කම් (int) දානවා නම් ඔක්කොම ඉලක්කම් වෙන්න ඕනේ. අකුරු (String) කලවම් කරන්න බෑ.
  • Indexing: දත්ත ගණන් කරන්නේ 0 සිට. (0, 1, 2, 3...).

Array එකක් හදන්නේ කොහොමද? (Syntax)

ක්‍රම දෙකක් තියෙනවා.

// ක්‍රමය 1: හිස් Array එකක් සාදාගැනීම (Size එක 5 යි)
int[] marks = new int[5];

// අගයන් ඇතුලත් කිරීම
marks[0] = 80; // පළමු කොටුවට
marks[1] = 95; // දෙවන කොටුවට
marks[2] = 70;

// ක්‍රමය 2: හදන ගමන්ම අගයන් දීම (ලේසි ක්‍රමය)
String[] cars = {"Toyota", "BMW", "Benz", "Honda"};

2. Array එකේ දත්ත ගැනීම (Accessing Elements) 🔍

අපි Data ගන්නේ "Index Number" (අංකය) පාවිච්චි කරලා. මතක තියාගන්න, පරිගණකය ගණන් කරන්න පටන් ගන්නේ 0 (බිංදුවෙන්).

String[] fruits = {"Apple", "Mango", "Banana"};

// පළමු එකා (Index 0)
System.out.println(fruits[0]); // Output: Apple

// තුන්වන එකා (Index 2)
System.out.println(fruits[2]); // Output: Banana
⚠️ ලොකුම වැරැද්ද (Exception Alert!)
ඔයාගේ Array එකේ තියෙන්නේ බඩු 3යි නම් (0, 1, 2), ඔයා වැරදිලාවත් fruits[3] ඉල්ලුවොත් මොකද වෙන්නේ?
Error: ArrayIndexOutOfBoundsException කියලා රතු පාට Error එකක් එනවා. මොකද 3 වෙනි Index එකක් නෑ. (තියෙන්නේ 2 වෙනකම් විතරයි).

3. Loops සහ Arrays (For-Each Loop) 🔄

Array එකක තියෙන බඩු 100ම එක පාර Print කරන්න ඕන වුනාම, අපි සාමාන්‍ය for loop එකක් පාවිච්චි කරන්න පුළුවන්. හැබැයි Java වල ඊට වඩා ලේසි ක්‍රමයක් තියෙනවා. ඒ තමයි For-Each Loop.

For-Each Loop Syntax:
for (type variableName : arrayName)
මේකෙන් කියන්නේ "Array එකේ තියෙන හැම අයිතමයක් ගානේ අරගෙන, මේ Variable එකට දාන්න" කියලා.
String[] names = {"Kamal", "Nimal", "Sunil"};

// පරණ ක්‍රමය (For Loop)
for (int i = 0; i < names.length; i++) {
    System.out.println(names[i]);
}

// අලුත් ක්‍රමය (For-Each Loop) - පට්ට ලේසියි! 😎
for (String n : names) {
    System.out.println(n);
}

4. Multi-dimensional Arrays (වගු / Matrix) 📊

අපිට පේළි (Rows) සහ තීරු (Columns) තියෙන වගුවක් හදාගන්න ඕන නම්? (Excel Sheet එකක් වගේ). එතකොට අපි 2D Arrays පාවිච්චි කරනවා. මේකෙදි කොටු වරහන් දෙකක් [][] එනවා.

// [Row][Column]
int[][] myNumbers = {
    {1, 2, 3}, // Row 0
    {4, 5, 6} // Row 1
};

// අංක 5 එළියට ගමු (Row 1, Column 1)
System.out.println(myNumbers[1][1]); // Output: 5

Mega Project: Student Marks Analyzer 🎓📈

දැන් අපි ඉගෙන ගත්ත දේවල් එකතු කරලා, පන්තියක ළමයින්ගේ ලකුණු විශ්ලේෂණය කරන පොඩි සොෆ්ට්වෙයාර් කෑල්ලක් හදමු. මේකෙන් මුළු එකතුව (Total), සාමාන්‍යය (Average) සහ වැඩිම ලකුණ (Max) හොයන්න පුළුවන්.

💻 The Full Code

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

        // ළමයි 5 දෙනෙක්ගේ ලකුණු Array එකකට දාමු
        int[] marks = {85, 92, 76, 55, 89};

        int total = 0;
        int max = marks[0]; // පළවෙනි එක්කෙනා තමයි දැනට වැඩිම කියලා හිතමු

        // Loop එක දුවලා ගණන් හදමු
        for (int m : marks) {
            total = total + m; // එකතුව හදනවා

            // වැඩිම එක්කෙනා හොයනවා
            if (m > max) {
                max = m;
            }
        }

        // Average එක හොයමු (Total / ගණන)
        double average = total / (double)marks.length;

        System.out.println("📊 පන්තියේ ප්‍රතිඵල:");
        System.out.println("Total Marks: " + total);
        System.out.println("Average: " + average);
        System.out.println("Highest Mark: " + max);
    }
}

අවසාන වශයෙන්... 🏁

අද ඔයා ඉගෙන ගත්තේ Java වල තියෙන වැදගත්ම Data Structure එකක්. ඕනෑම සොෆ්ට්වෙයාර් එකක ලිස්ට් එකක් (List) පෙන්නන්න වුනාම, පසුබිමේ වැඩ කරන්නේ මේ Arrays තමයි. මේ කෝඩ් ටික Notepad++ එකේ ගහලා Run කරලම බලන්න.

ඊළඟ කොටසින්: වැඩ නැවත නැවත ලියන්නේ ඇයි? Methods (Functions) වලින් ලේසි කරමු! 🛠️
දිගටම KP Tech Gear සමඟ රැඳී සිටින්න! 👇

Author

About

Tech enthusiast, Python/Java Developer, and Gamer. Sharing knowledge about coding and modern technology.

Discussion

Kaweesha AI ×
Hello Kaweesha! I am ready to help with Python, Java, or Hosting queries. 🤖