Базовый синтаксис Java

Данные и управление

Код и типы

public final class Total {
    public static long positiveSum(long[] values) {
        long result = 0;
        for (long value : values) {
            if (value > 0) {
                result = Math.addExact(result, value);
            }
        }
        return result;
    }
}

В одном примере: класс и модификаторы, статический метод, массив, цикл, условие, локальная переменная и проверяемое переполнение.

Быстрая проверка

Получает ли локальная переменная значение по умолчанию? Нет, компилятор требует definite assignment.

Передаёт ли Java объект по ссылке? Java всегда передаёт значение; для объекта это значение самой ссылки.

Можно ли переполнить long без исключения? Обычными +/- — да; Math.addExact обнаружит переполнение.