Searching for existing knowledge on the web is always a good idea
But as a general advice: If you want to learn Java you don't have to focus on such subtle details of the language syntax. If you take an exam or something like this then you probably will have to learn these things but for practical usage of Java there are other much more important things besides difficult to understand code fragments like this. Of course such an language constructs may be useful in some situations as you can see they often lead to confusion. And believe me, this is not only true because you are new to Java If you use a modern object oriented language like Java wisely you hopefully won't see such things very often! Today higher level concepts and clean design and architecture of a software are much more important than using tricky operators.