JaJava · Lesson 4 of 9

Methods

In Java, functions are called methods and must live inside classes. A small indignity. Get used to it.

Java
public class Methods {

    // Static method — called on class, not instance
    public static int add(int a, int b) {
        return a + b;
    }

    // Method overloading — same name, different params
    public static double add(double a, double b) {
        return a + b;
    }

    public static String add(String a, String b) {
        return a + b;
    }

    // Varargs — variable number of arguments
    public static int sum(int... numbers) {
        int total = 0;
        for (int n : numbers) total += n;
        return total;
    }

    // Recursive method
    public static long factorial(int n) {
        if (n <= 1) return 1;
        return n * factorial(n - 1);
    }

    // Return multiple values via array or object
    public static int[] minMax(int[] arr) {
        int min = arr[0], max = arr[0];
        for (int n : arr) {
            if (n < min) min = n;
            if (n > max) max = n;
        }
        return new int[]{min, max};
    }

    public static void main(String[] args) {
        System.out.println(add(3, 4));         // 7 (int version)
        System.out.println(add(3.14, 2.71));   // 5.85 (double version)
        System.out.println(add("Hello", "!")); // Hello! (String version)

        System.out.println(sum(1, 2, 3, 4, 5)); // 15

        System.out.println(factorial(10));  // 3628800

        int[] result = minMax(new int[]{5, 2, 8, 1, 9});
        System.out.println("Min: " + result[0] + ", Max: " + result[1]);
    }
}