This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Both "" and " " are String literals. The difference is simply that " " is a space, and "" is an empty String (a String of zero length).
But this is not the cause of the behavior you are seeing in your code.
Basically, String concatenation with the + operator works from left to right, and the behavior you're seeing is due to where your String literal is placed in the expression. Your code happens to use the String " " as first term, but the String "" is used as a second and third term.
System.out.println(1 + 2 + "" + 3 + 4);
You will find that 1 and 2 are evaluated as ints, resulting in addition. But once the String literal (in this case, an empty String) is encountered, the remaining terms in the expression are evaluated as Strings.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org