Задачу решил интуитивно, но не совсем понимаю вот эту часть кода: public static int min(int a, int b, int c, int d) { int num0 = Math.min(a,b); //выбрали наименьшее из -20 и -10 (-20) int num1 = Math.min(b,c); //выбрали наименьшее из всех переменных b и c int num2 = Math.min(c,d); //выбрали наименьшее из всех переменных с и d int num3 = Math.min(num1, num2); //выбрали наименьшее из наименьших return num3; } public static int min(int a, int b) { int num4 = Math.min(a,b); //выбрали наименьшее из всех переменных a и b return num4; //вернули значение итоговой переменной num4 в метод main из которого этот метод был вызван } Не понимаю как работает return, а именно почему код пишется именно в таком порядке (т.е. сначала мы вызываем метод min (int a, int b, int c, int d) поясните пожалуйста