This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
If you initialize member variables in the body of the class, the compiler actually puts a copy of that initialization code at the beginning of each constructor, so in terms of efficiency or anything like that, they're really equivalent. The only thing that matters, then, is maintainability and readability.
The rule I follow, loosely, is that primitive types can be initialized to constants in the class body, while objects are created in a constructor. The main reason for this is consistency; some objects have to be created in a constructor (or in an initializer block) because their constructors throw exceptions -- so to be consistent, I do them all that way.