Java Sum of Array

Calculate the total of all elements in an array efficiently

➕ What is Array Sum?

Array sum means adding all elements in an array to get a total. It's fundamental in programming for calculations, statistics, and data processing. Java offers multiple approaches for this operation.


// Simple array sum example
public class ArraySum {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        int sum = 0;
        
        for (int number : numbers) {
            sum += number;
        }
        
        System.out.println("Array: [10, 20, 30, 40, 50]");
        System.out.println("Sum: " + sum);
    }
}
                                    

Output:

Array: [10, 20, 30, 40, 50]
Sum: 150

Different Sum Methods

🔄

For Loop

Traditional index-based iteration

static int sumArray(int[] arr) {
    int sum = 0;
    for (int i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    return sum;
}
🎯

Enhanced For

Cleaner syntax for array traversal

static int sumArray(int[] arr) {
    int sum = 0;
    for (int num : arr) {
        sum += num;
    }
    return sum;
}
🌊

Stream API

Modern functional approach

import java.util.Arrays;

static int sumArray(int[] arr) {
    return Arrays.stream(arr).sum();
}
🔁

Recursive

Divide and conquer approach

static int sumArray(int[] arr, int index) {
    if (index >= arr.length) return 0;
    return arr[index] + sumArray(arr, index + 1);
}

🔹 Complete Array Sum Program

Here's a comprehensive program demonstrating various array sum techniques:

import java.util.Arrays;

public class ArraySumComplete {
    public static void main(String[] args) {
        // Test arrays
        int[] numbers1 = {1, 2, 3, 4, 5};
        int[] numbers2 = {10, 25, 30, 45, 50, 75};
        double[] decimals = {1.5, 2.5, 3.5, 4.5};
        
        System.out.println("=== Array Sum Examples ===\n");
        
        // Method 1: Traditional for loop
        System.out.println("1. Traditional For Loop:");
        System.out.println("Array: " + Arrays.toString(numbers1));
        System.out.println("Sum: " + sumWithForLoop(numbers1));
        
        // Method 2: Enhanced for loop
        System.out.println("\n2. Enhanced For Loop:");
        System.out.println("Array: " + Arrays.toString(numbers2));
        System.out.println("Sum: " + sumWithEnhancedFor(numbers2));
        
        // Method 3: Stream API
        System.out.println("\n3. Stream API:");
        System.out.println("Array: " + Arrays.toString(numbers1));
        System.out.println("Sum: " + sumWithStream(numbers1));
        
        // Method 4: Recursive
        System.out.println("\n4. Recursive Method:");
        System.out.println("Array: " + Arrays.toString(numbers2));
        System.out.println("Sum: " + sumRecursive(numbers2, 0));
        
        // Method 5: Double array
        System.out.println("\n5. Double Array Sum:");
        System.out.println("Array: " + Arrays.toString(decimals));
        System.out.println("Sum: " + sumDoubleArray(decimals));
        
        // Method 6: Array statistics
        System.out.println("\n6. Array Statistics:");
        printArrayStats(numbers2);
        
        // Method 7: Conditional sum (even numbers only)
        System.out.println("\n7. Sum of Even Numbers:");
        System.out.println("Array: " + Arrays.toString(numbers2));
        System.out.println("Even sum: " + sumEvenNumbers(numbers2));
    }
    
    // Method 1: Traditional for loop
    static int sumWithForLoop(int[] arr) {
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        return sum;
    }
    
    // Method 2: Enhanced for loop
    static int sumWithEnhancedFor(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            sum += num;
        }
        return sum;
    }
    
    // Method 3: Stream API
    static int sumWithStream(int[] arr) {
        return Arrays.stream(arr).sum();
    }
    
    // Method 4: Recursive
    static int sumRecursive(int[] arr, int index) {
        if (index >= arr.length) {
            return 0;
        }
        return arr[index] + sumRecursive(arr, index + 1);
    }
    
    // Method 5: Double array sum
    static double sumDoubleArray(double[] arr) {
        double sum = 0.0;
        for (double num : arr) {
            sum += num;
        }
        return sum;
    }
    
    // Method 6: Array statistics
    static void printArrayStats(int[] arr) {
        int sum = sumWithEnhancedFor(arr);
        double average = (double) sum / arr.length;
        int max = Arrays.stream(arr).max().orElse(0);
        int min = Arrays.stream(arr).min().orElse(0);
        
        System.out.println("Array: " + Arrays.toString(arr));
        System.out.println("Sum: " + sum);
        System.out.println("Average: " + String.format("%.2f", average));
        System.out.println("Max: " + max);
        System.out.println("Min: " + min);
    }
    
    // Method 7: Conditional sum (even numbers)
    static int sumEvenNumbers(int[] arr) {
        int sum = 0;
        for (int num : arr) {
            if (num % 2 == 0) {
                sum += num;
            }
        }
        return sum;
    }
}

Output:

=== Array Sum Examples ===

1. Traditional For Loop:
Array: [1, 2, 3, 4, 5]
Sum: 15

2. Enhanced For Loop:
Array: [10, 25, 30, 45, 50, 75]
Sum: 235

5. Double Array Sum:
Array: [1.5, 2.5, 3.5, 4.5]
Sum: 12.0

7. Sum of Even Numbers:
Array: [10, 25, 30, 45, 50, 75]
Even sum: 90

🧠 Test Your Knowledge

What is the sum of array [2, 4, 6, 8]?