Насколько я знаю когда ставишь int i; по умолчанию ему присваивается 0. Но компилятор выдаёт ошибку, потому что не видит return i. И приходится дописывать int i = 0;. Почему такое происходит мне не понятно. Если типы данных в Java без значений по умолчанию имеют null(0). Пример из: 2 уровня лекция 8. Когда изменяешь int i = 0 на просто int i; Выдаётся ошибка. public static int min(int a, int b, int c, int d) { int minAB = min(a,b); int i = 0; if (a <= b && a <= c && a <=d){ i = a; } else if (b <= a && b <= c && b <= d){ i = b; } else if (c <= a && c <= b && c <= d){ i = c; } else if (d <= a && d <= b && d <= c){ i = d; } return i; }