I use a pair of 16gb Sandisk Extreme cards. The Class 10 is the current standard. Class 6 will work fine. 8GB would probably be adequate for photography - and will hold around 300 images. The camera will tell you it holds less - but due to compression of RAW images, you will get 300 or so under typical conditions.
If you shoot video or a lot of wildlife, a larger card is more important. I shoot 6 GB or less of landscapes in a day, but for wildlife will go beyond that.
Card speed is most important with downloads. The write speed in your camera is pretty fast, and the card will not typically be a limiting factor.
Be sure you buy from a reputable source. Avoid eBay unless you have a known reliable vendor. There are a lot of counterfeit cards from unreliable sources. Stick with known brands - Sandisk, Lexar, and Transcend. If the price looks too good to be true - it is.
I just got a 32GB Sandisk UH-1 card (45MBs) and really like it. The transfer to Computer is very fast if you have a good card reader. The D7000 seems to run smoother than with the (half the price) Patriot.
However, the 32GB Patriot LX class 10 SDHC card seems fast enough for most use. Class 10 only has to deliver sustained 10MBs read/write speed to meet specs.
I'm using 2x Lexar Platinum II 32GB cards, class 6.
They work well with both stills and HD video. Each card will hold just over 900 RAW shots or 2200 shots at Fine JPEG. For me I opted for a cheaper speed/class for more storage. I bought them from Adorama a few months back, now you can get the class 10 cards for the same price I paid for the class 6. These Lexars aren't as fast as the Sandisk cards but are considerably cheaper and do a decent job.