This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Sorry I couldn't think of a better example for the & operator. Basically, it is used to extract individual bits from a numeric type.
As for the shift operators, in other programming languages one use for them is fast multiplication and division by powers of 2. I am not sure if that particular optimization is necessary in Java, because I am not that familiar with Java.
[This message has been edited by David Eason (edited November 06, 2001).]