Dlaczego tak
Instrukcja switch przechodzi do etykiety case 2 i wykonuje kolejne instrukcje aż do napotkania break, nie sprawdzając już następnych etykiet. Po s += 2 brak break, więc wykonuje się też s += 3, a dopiero potem break kończy switch: s = 5. Wynik 2 zakłada, że każdy case kończy się automatycznie, jak w niektórych innych językach, a default nie jest wykonywany, bo break przerwał instrukcję wcześniej.