Consider the following code:

// Write the digits of the number, stacked vertically.
// If number is negative, then a negative sign appears on top.
void superWriteVertical(int number) {
  if (number < 0) {
    System.out.println("-");
    superWriteVertical(-number);
  }
  else if (number < 10)
    System.out.println(number);
  else {
    superWriteVertical(number / 10);
    System.out.println(number % 10);
  }
}

What values of number are directly handled by the base case?

number \geq 0 and number < 10
  • number < 0
  • number < 10
  • number > 10

When the base case is reached, no more recursive calls are executed.

There is nothing special about the order of the cases. The base case and recursive call cases can be in any order.