the best bet is to have two email addresses, one for public use, and one for your friends. The important thing is to NEVER put your public one on the web anywhere (or subscribe to mailing lists, etc.). Ask your friends to use the BCC field when doing a mass email, and not to give out your private address without asking.
Even if your friends are stupid, you should reduce the amount of spam you get. But it's almost impossible to completely prevent spam, although you can filter most of it out. I get maybe 1 spam a month (if that) on my work email account (mainly thanks to spam assassin).