Код: Выделить всё
public class Recursion20
{
static void printMe(int n)
{
if (n < 0) // Base Case
return;
printMe(n - 1); // Recursive Case
System.out.print(n + " ");
}
public static void main(String[] args)
{
printMe(6);
}
}
/*
Output:
-------
0 1 2 3 4 5 6
*/
Итак, if(n < 0), т. е. if(-1 < 0), условие if удовлетворяет и он возвращает оператор return.
Затем он печатает оператор s.o.p, т.е. s.o.p(n);
Но при печати оператора s.o.p, т.е. s.o.p(n); Он печатает значение «n» как «0». Как?.
Затем он печатает значения «n» как 0 1 2 3 4 5 6. Как увеличиваются значения «n»?
Подробнее здесь: https://stackoverflow.com/questions/789 ... ncremented