Программа с помощью switch сравнивает переменную number с уже готовыми значениями, описанными с помощью case, и в случае совпадения исполняет определенный для этого код. default используется, если ни одно значение в case не подошло (как простой else). break нужен для того, чтобы после выполнения кода не было сравнивания с другими case. Попробуйте разные значения переменной number. Как вы увидите: она «может считать только до трех». Важно отметить что параметром для switch могут выступать переменные только нескольких типов: int, byte, short, char, String.