Without a doubt, the best times to visit Japan are the climatically stable seasons of spring (March to May) and autumn (September to November).
Spring is the time when Japan’s famous cherry trees burst into bloom. Starting from Kyushu sometime in March, the sakura zensen (cherry tree blossom line) advances northward, usually passing the main cities of Honshu in early April. Once the sakura bloom, their glory briefs, usually lasting only a week or two. Luckily, if you’re travelling around Honshu at this time, you’ll probably find sakura at mankai (peak of bloom) somewhere along your route.
Autumn is an equally good time to travel, with pleasant temperatures and soothing autumn colors. The autumn foliage pattern is opposite to that of the sakura. Starting in the north sometime in October and peaking across most of Honshuu sometime in November. And the autumn foliage season lasts significantly longer than the sakura bloom.
Travelling in either winter or summer is a mixed bag. Mid-winter (December to February) weather can be bitterly cold, particularly on Japan Sea coast of Honshu and Hokkaido, while the sticky summer months (June to August) can turn even the briefest excursion out of an air conditioned environment into a steam bath.
June is also the month of Japan’s brief rainy season, which in some years brings daily downpours and in other years can hardly be called a rainy season at all. It certainly isn’t big enough of a reason not to visit, if this is the only time you can come (and the rainy seasons skip Hokkaido entirely). Also, keep in mind that peak holiday seasons, particularly Golden Week, which falls on late April to early May and the mid-August O-bon (Festival of the dead) are extremely popular for Domestic travel and can cause problems with reservation and crowds.
Likewise, everything in Japan basically shuts down during shogatsu (New Year Period). Many businesses close down over this period (29 December to 3 January). While public transport still operates during this time, most restaurants shut down completely, starting on the morning of 1st of January and not reopening until 3rd or 4th of January.