You should be upgrade eligible in 18 months and eligible for an early upgrade price (not full retail, but not the fully-subsidized price) after 1 year. With some of the more expensive plans you might be able to upgrade at the fully subsidized price as early as 12 months. But if you must get the new one as soon as it comes out you will probably have to pay full price.
Be aware, though, that you can usually sell a contract-free used iPhone for a significant fraction of its retail price. You might be able to buy to sell a pristine used 3GS for $400 to $500, significantly reducing the cost of your upgrade.
And I wouldn't listen to the poster who says to wait half a product cycle to get the new model in June. There will always be a newer model on the horizon; it's like chasing the end of the rainbow. Buy your iPhone now and enjoy it an extra six months. You can always sell it and finance an upgrade that way.