As far as speed, I don't know that there is any difference. However, both of these examples will use much more space than StringBuffer will. To understand why, let's look at the second example:
First a new String "12" is formed from "1" + "2". Then the String "123" is formed by concatenating the "3", and so on. So overall 60 Strings will be created, one for each of the individual numbers and one for each of the intermediate results of the concatenation. On the other hand StringBuffer will use a single buffer and concatenate the characters to it dynamically.
Note: If you're really worried about performance (and not worried about thread synchronization), then Java 1.5's StringBuilder is intended to be even more efficient than StringBuffer.
"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