Базовый синтаксис Java
Данные и управление
- Переменные и типы данных Java — примитивы, ссылки и области видимости;
- Работа с числовыми данными и Работа со строковыми данными;
- Массивы Java и Коллекции;
- Условные конструкции Java и Циклы в Java, работа с массивами, ввод данных;
- Enum Перечисления Java;
Код и типы
- Классы и методы Java объекты;
- Методы Java и Сигнатура и контракт метода;
- Пакеты Java и Модификаторы доступа;
- Интерфейсы Java и Абстрактные классы;
- Аннотации;
- Обобщения generics;
- Работа с исключениями в 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 обнаружит переполнение.