Harsh language indeed.
Here's an example of two switch statments I found:
It's very procedural. You could make it more object oriented and use inheritance and commonality by doing something like this:
Refactoring Switch Statements
From reading the history of the Java language, apparently, the designers didn't want the switch statement in the language at all, as it tends to lead to poor OO. Of course, it's such a strong construct in all other languages that leaving it out would make it appear that something was missing. It has its uses, and isn't always bad. It's just always good to ask yourself, when you start using switches, if there isn't a better, more object oriented approach.
I hope you're enjoying the book!
-Cameron McKenzie